A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima;

  2. /**
  3. * 第三题:判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串。
  4. * 思路:判断字符串是否对称,只需判断其反转之后是否和原字符串相同即可。将字符串转换为字符数组,
  5. * 对字符数组遍历,并放入新建的StringBuilder中,利用其反转方法。
  6. *@author XiaLei
  7. */
  8. public class Test3 {
  9.        
  10.         public static void main(String[] args){
  11.                
  12.                 String str="gfrfg";
  13.                 char[] ch=str.toCharArray();
  14.                 //将字符串转换为字符数组。
  15.                 StringBuilder sb=new StringBuilder();
  16.                 //新建一个StringBuilder容器。
  17.                 for (char c : ch){
  18.                         //遍历数组。
  19.                         sb.append(c);
  20.                         //将数组元素放入容器。
  21.                 }
  22.                 String str1=sb.reverse().toString();
  23.                 //反转StringBuilder并返回为String类型。
  24.                 System.out.println(str.equals(str1));
  25.                 //判断是否相同。
  26.         }
  27. }
复制代码


4 个回复

倒序浏览
设置两个指针i,j,i指向头,j指向尾,i每次++,j每次--判断str[i]和str[j]是否相等,只要不等,break,相等,i++,j--;
回复 使用道具 举报
博主的想法是用空间换时间,  而1楼的是C的指针思想。  视情况而定,  但是思路都是对的。
回复 使用道具 举报
新手ing 发表于 2015-7-15 22:58
设置两个指针i,j,i指向头,j指向尾,i每次++,j每次--判断str和str[j]是否相等,只要不等,break,相等,i ...

其实我刚开始想法跟你一样,无奈代码敲不出来。。。
回复 使用道具 举报
453203489 发表于 2015-7-15 23:19
博主的想法是用空间换时间,  而1楼的是C的指针思想。  视情况而定,  但是思路都是对的。 ...

空间换时间是什么意思?
:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马