算法-小红书2020校招前端笔试题卷三
薯队长写了一篇笔记草稿,请你帮忙输出最后内容。
1.输入字符包括,"(" , ")" 和 "<"和其他字符。
2.其他字符表示笔记内容。
3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。
4."<"表示退格, 删去前面一个笔记内容字符。括号不受"<"影响 。
输入描述:
输入一行字符串。长度<=10000.
输出描述:
输出一行字符串,表示最终的笔记内容。
输入例子1:
Corona(Trump)USA<<<Virus
输出例子1:
CoronaVirus
我的回答:错误代码
function getStr(s){
let startIndex=0,endIndex=0;
if(s.indexOf("(")!=-1&&s.indexOf(")")!=-1){
let newstr=s.substring(0,s.indexOf("("))+s.substring(s.indexOf(")")+1,s.length);
return getStr(newstr);
}
return s;
}
function getNote(str){
let newstr=getStr(str);
if(newstr.indexOf("<")!=-1){
let flagindex=newstr.indexOf("<");
let nextstr=newstr.substring(0,flagindex-1)+newstr.substring(flagindex+1,newstr.length);
return getNote(nextstr);
}
return newstr;
}
console.log(getNote("Corona(Trump)USA<<<Virus<<"))

浙公网安备 33010602011771号