一次返回是否应该停止整个程序



这是leetcode问题9

class Solution {
public boolean isPalindrome(int x) {
if(x<0 || (x!= 0 && x%10 == 0) ){
return false;
}
int res = 0;
while(x>res){
res = res*10 + x % 10;
if(x == res || x == res/10){
return true;
}
x = x/10;
}
return false;
}
}

这是正确的答案,但我有一个问题。

if(x == res || x == res/10){
return true;
} 

在这一部分中,如果返回true,则在while循环完成后会出现很多true。然而,一次返回是否应该停止整个程序?

您实际上是在试图找到字符串的中点,看看这两位数字是否匹配。

示例:假设这个数字是5225。迭代看起来像这样:

res x

  1. 5 5225
  2. 52 522这里res==x/10->返回true

相关内容

最新更新