public static boolean isHW(String s) {
    if(s == null) return false;
    int i = 0, j = s.length()-1;
    while(i<=j)
      if(s.charAt(i++)!=s.charAt(j--))return false;
    return true;
  }

解决方案 »

  1.   

    人家是要递归的解决办法吧。public class Hello
    {
    public static void main(String [] args)
    {
    System.out.println(isD("afbdfa"));
    System.out.println(isD("afbfa"));
    System.out.println(isD("affa"));

    }
    private static boolean isD(String s)
    {
    if(s.length()==1||s.length()==0)
    return true;
    else
    {
    if(s.charAt(0)==s.charAt(s.length()-1))
    {
    String t=s.substring(1,s.length()-1);
    return isD(t);
    }
    else
    return false;
    }
    }
    }
      

  2.   

    public class Test {
      public static void main(String[] args)
      {
        System.out.println(args[0]+" is reverse Stirng ? "+isReverse(args[0]));
      }
      public static boolean isReverse(String str)
      {
        if (str==null||str.trim().length()==0) return false;
        str=str.trim();
        return str.equals(reverse(str));
      }
      public static String reverse(String str)
      {
        if (str==null||str.trim().length()==0) return str;
        StringBuffer result=new StringBuffer("");
        for (int i=str.length()-1; i>=0; i--)
          result.append(str.charAt(i));
        return new String(result);
      }
    }
      

  3.   

    public static boolean isHW(String s) {
        if(s == null) return false;
        if(s.length()<2) return true;
        return (s.charAt(0)==s.charAt(s.length()-1))&& isHW(s.substring(1,s.length()-1));
      }