js 实现左括号替换空格+左括号 代码
时间: 2024-10-13 12:08:46 浏览: 24
js正则表达式实现数字每隔四位用空格分隔代码
在JavaScript中,你可以使用栈数据结构来实现这个功能。给定一个只包含圆括号的字符串,你需要将每个右括号前面插入一个空格和一个左括号,直到遇到匹配的左括号。以下是简单的代码示例:
```javascript
function insertSpaces(s) {
let stack = [];
for (let i = 0; i < s.length; i++) {
if (s[i] === '(') {
stack.push('(');
} else if (s[i] === ')') {
if (stack.length > 0 && stack[stack.length - 1] === '(') {
// 如果当前是右括号,并且栈顶是左括号,则出栈并插入空格
stack.pop();
s = s.substring(0, i) + ' ()' + s.substring(i);
i += 2; // 跳过刚插入的空格和左括号
} else {
stack.push(s[i]); // 否则直接压入栈
}
}
}
return s;
}
// 示例
const input = "())";
console.log(insertSpaces(input)); // 输出: " )()()"
```
这段代码首先创建一个空栈,遍历输入字符串,如果遇到左括号就压入栈,遇到右括号会检查栈顶是否是左括号,如果是则弹出并添加空格和左括号,最后返回处理后的字符串。
阅读全文