gpt4 book ai didi

javascript - 查找回文逻辑中的边缘情况

转载 作者:行者123 更新时间:2023-12-02 21:58:27 25 4
gpt4 key购买 nike

我正在 CodeSignal 上提高我的编码技能。最初我想出了方法 1,它通过了 30 个测试用例中的 26 个,我看不到那些失败的测试用例的输入,因为它们是隐藏的。然后使用方法2重写逻辑,通过了所有测试用例。我正在绞尽脑汁试图找到方法 1 中缺失的边缘情况。感谢任何帮助。

方法1

function checkPalindrome(inputString: string): boolean {

for(let i=0,j=inputString.length-1;i<inputString.length;i++,j--) {
console.log(i,j,inputString.charAt(i),inputString.charAt(j));
if(i >= j) {
return true;
}
if(inputString.charAt(i) !== inputString.charAt(j)) {
return false;
}
}
}

方法2

function checkPalindrome(inputString: string): boolean {

let l = 0;
let h = inputString.length - 1;

while (h > l)
{
if (inputString.charAt(l) != inputString.charAt(h))
{
return false;
}
h=h-1;
l=l+1;
}
return true;
}

最佳答案

第一种方法未涵盖的边缘情况之一是空字符串,因为 i<inputString.length在第一次传递时将为 true,并且循环后没有 return 语句,返回 undefined。第二种方法在这种情况下有效,因为它在方法结束时返回 true。

可以通过将 for 循环中的条件更改为 i < j 来修复第一种方法。和移动return true到方法结束。

关于javascript - 查找回文逻辑中的边缘情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com