这个while
代码工作正常,它是一个检查回文的程序。
public class Solution {
public static boolean checkPalindrome(String str){
int i=0;
int j= str.length()-1;
while(i<j)
{
if(str.charAt(i)!=str.charAt(j))
{
return false;
}
i++;
j--;
}
return true;
}
}
但是在这个版本中会发生什么,你期望输出是什么?
public class Solution {
public static boolean checkPalindrome(String str){
int i=0;
int j= str.length()-1;
while(i<j)
{
if(str.charAt(i)!=str.charAt(j))
{
return false;
}
else
{
return true;
}
i++;
j--;
}
}
}
在第二个代码块中,首先检查第一个字符是否与最后一个字符相同。
如果不是,则返回false。
否则,返回true。
所以这不是一个有效的回文检查。它只检查第一个和最后一个字母是否相同,并忽略中间的字母。