public static boolean isPalindrome(String pValue){
// 堆栈一
List<Character> stack = new ArrayList<Character>();
// 堆栈二
List<Character> stack2 = new ArrayList<Character>();
// 字符串长度的一半
int haflen = pValue.length()/2;
for(int i=0;i<haflen;i++){
// 字符进栈
stack.add(pValue.charAt(i));
// 倒序进栈
stack2.add(pValue.charAt(pValue.length()-i-1));
}
// 标识符
boolean bFlag = true;
// 出栈并比较
for(int i=haflen-1;i>=0;i--){
if(stack.remove(i) != stack2.remove(i)){
bFlag = false;
break;
}
}
// 返回比对结果
return bFlag;
}
本文介绍了一种使用两个堆栈来检查字符串是否为回文的方法。通过将字符串的前半部分压入第一个堆栈,后半部分的逆序压入第二个堆栈,然后逐个元素比较两个堆栈的元素是否相同,以此判断字符串是否为回文。
660

被折叠的 条评论
为什么被折叠?



