方法一 splice
将字符串转为数组,对数组进行遍历,碰到'G'保持不变,继续循环,碰到 '(' 看他后一位,是 ')' 则删除两个元素,添加一个 'o' ,不是则删除四个元素,添加元素 'al' ,最后将数组转回字符串。
var interpret = function(command) {command=command.split('')for(let i=0 ;i<command.length;i++){if(command[i]==='G') continueif(command[i]==='('){if(command[i+1]==')'){command.splice(i,2,'o')}else{command.splice(i,4,'al')}}}return command.join('')
};
消耗时间和内存情况:
方法二
不需要原地修改command,也可以维护一个新字符串
var interpret = function(command) {let res = '';for (let i = 0; i < command.length; i++) {if (command[i] === 'G') {res += 'G';} else if (command[i] === '(') {if (command[i + 1] === ')') {res += 'o';} else {res += 'al';}}}return res;
};
消耗时间和内存情况: