代码如下所示:
/**
* 用栈实现回文数
* */
public class Test2 {
public static void main(String[] args) {
//测试代码
System.out.println(isPalindromic("1221")); //输出true
}
//判断字符串是否回文,如果是数字的话可以转换为字符串再进行回文的判断
public static boolean isPalindromic(String val){
//初始化一个栈
ArrayStack stack = new ArrayStack(1024);
//循环遍历字符串并且压栈
for (int i = 0; i < val.length(); i++) {
final char c = val.charAt(i);
//压栈
stack.addStack(c);
}
//然后循环遍历栈中的数据并且与原数据进行比较,如果是回文数,两个遍历的方式所得到结果就会相同
for (int i = 0; i < val.length(); i++) {
final char c = val.charAt(i);
final char i1 = (char)stack.popStack();
if(c != i1){ //注意:这里也可以使用字符串拼接的操作,将栈中的数据弹出后拼接与传递过来的字符串进行比较即可
return false;
}
}
return true;
}
}
标签:判断,val,public,char,用栈,字符串,stack,回文
From: https://blog.51cto.com/u_15433911/7448657