老师给的资料文件,没有原文链接。。。只能填原创了
import java.util.Scanner; public class 栈 { /** * 先入后出 * 回文判断 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); String insString=scanner.next(); // 接收输入的字符串 char[] aa=insString.toCharArray(); // 字符串转换成数组 int len,mid,next,top; // len长度 mid字符串中间 len=insString.length(); mid=len/2-1; top=0; // 栈的初始化 char[] temp=new char[mid+2]; // 栈数组 // 将mid前的字符依次入栈 for (int i = 0; i <= mid; i++) { temp[++top]=aa[i]; } // 判断字符串长度是奇数还是偶数,找匹配的开始下标 if(len%2==0){ next=mid+1; } else { next=mid+2; } // 开始匹配 for (int i = next; i <= len-1; i++) { if(aa[i]!=temp[top]){ break; } top--; } if(top==0){ System.out.println("YES"); } else{ System.out.println("NO"); } } }