题目
给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。字符串回文指该字符串正序与其逆序逐字符一致。
解题一
利用栈,对字符串进行入栈和出栈操作,在进行比较。
代码
public static boolean judge2 (String str) {
if (str.length()<2){
return true;
}
Stack<Character> stack = new Stack<>();
for (int i = 0; i < str.length(); i++) {
stack.push(str.charAt(i));
}
StringBuilder builder = new StringBuilder();
while (!stack.isEmpty()){
builder.append(stack.pop());
}
return str.equals(builder.toString());
}
解题二
直接进行判断
public static boolean judge (String str) {
if(str.length() == 1)
{
return true;
}
for (int i = 0; i < str.length()/2; i++) {
if (str.charAt(i)!=str.charAt(str.length()-i-1)){
return false;
}
}
return true;
}