回文是不是那个类似于这样
abcdcba
这样的啊?
回文是反着读顺着读都是一样的
所以你可以把一个String从头到尾读进(push)一个Stack里面
这样在原String里面排在最前面的字符就到了最下面
然后再一个一个pop出来,比较一下
这是我想到的比较笨的办法~~~~~~~~
String abc = "abcdcba";
Stack stack = new Stack();
for( int i = 0; i < abc.length(); i++ ){
  stack.push( new Character( abc.charAt( i ) );
}
for( int i = 0; i < abc.length(); i++ ){
  if( abc.charAt( i ) != ((Character)stack.pop()).charValue() ){
    return false;
  }
}
差不多这样吧

解决方案 »

  1.   

    堆栈主要是在栈顶压入和弹出。符合先入后出的特点
     XKP(低等下人)的代码就很完美了
    我觉得可以把这段代码封装在一个class中
    import java.util.*public class LoopStringStacks{
    ......
       public boolean IsLoopString(String s)
           {  
            Stack stack = new Stack();
            for( int i = 0; i < s.length(); i++ )
               stack.push( new Character( S.charAt( i ) );
            int j=0;   
            for( int i = 0; i < s.length(); i++ )
               if( s.charAt( i ) ==((Character)stack.pop()).charValue() )
                     j++;
            if(j==s.length())
               return true;
            else
               return false;
            }
    .....
    }
      

  2.   

    zjq1980(阿易) 说得对!
    使用StringBuffer的reverse() 方法直接就可以反转