JavaScript中的解析和平衡尖括号问题
我们得到了一串尖括号,并且需要编写一个函数,在字符串的开头和结尾添加括号以使所有括号匹配。
如果每个<对应一个>,并且每个>对应一个<,则尖括号匹配。
例如-如果输入字符串是-
const str = '><<><';
输出结果
那么输出应该是-
const output = '<><<><>>';
在这里,我们在开头添加了“<”,在末尾添加了“>>”以平衡字符串。
到目前为止,我们将使用一个数字来计算打开的'<'标签的数量。然后,当我们遇到'>'标记时,如果当前没有打开的标记,则将'<'添加到字符串的开头(同时将打开的标记计数保持为0)。
然后,最后添加与当前打开的标签数匹配的多个'>'。
示例
为此的代码将是-
const str = '><<><';
const buildPair = (str = '') => {
let count = 0;
let extras = 0;
for (const char of str) {
if (char === '>') {
if (count === 0) {
extras++;
} else {
count−−;
};
} else {
count++;
};
};
const leadingTags = '<'.repeat(extras);
const trailingTags = '>'.repeat(count);
return leadingTags + str + trailingTags;
};
console.log(buildPair(str));输出结果
控制台中的输出将是-
><<><>>
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话