エコー文字列(二点、文字列を使用)
5881 ワード
指定された文字列sの場合、最大1文字が削除され、返信文字列になると成功します.そうしないと失敗します.
まず左と右のエラー部分をチェックし、エラー部分からsubstringをクリップし、逆にsubstringをチェックしてマッチングを確保します.一致すれば、それが正解で、そうでなければ正解ではありません.
cdではsubstring(left+1,right)は成立しないからである.
もし、leftが中央の場合のみチェックします.
falseを返します.
1.考え方
まず左と右のエラー部分をチェックし、エラー部分からsubstringをクリップし、逆にsubstringをチェックしてマッチングを確保します.一致すれば、それが正解で、そうでなければ正解ではありません.
function solution(str){
let left=0,right=str.length-1;
while(left<right){
if(str[left]!==str[right]){
// 다른 경우
str=str.substring(left+1,right);
if(str!==str.split('').reverse().join(''))
return false;
}
else{
left++;
right--;
}
}
return true;
}
console.log(solution("abcdccacba"));
// console.log(solution("abcabbakcba"));
test-case)abcdbaに問題が発生しました.cdではsubstring(left+1,right)は成立しないからである.
ソリューション
もし、leftが中央の場合のみチェックします.
falseを返します.
if(left!==parseInt(str.length/2)){
str=str.substring(left+1,right);
if(str!==str.split('').reverse().join(''))
return false;
}
Reference
この問題について(エコー文字列(二点、文字列を使用)), 我々は、より多くの情報をここで見つけました https://velog.io/@mingsomm/회문문자열투포인트-문자열활용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol