黑马程序员技术交流社区

标题: 小练习——判断字符串是否为对称字符串。 [打印本页]

作者: 不怕黑人    时间: 2015-7-15 22:42
标题: 小练习——判断字符串是否为对称字符串。
  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. }
复制代码



作者: 新手ing    时间: 2015-7-15 22:58
设置两个指针i,j,i指向头,j指向尾,i每次++,j每次--判断str[i]和str[j]是否相等,只要不等,break,相等,i++,j--;
作者: 453203489    时间: 2015-7-15 23:19
博主的想法是用空间换时间,  而1楼的是C的指针思想。  视情况而定,  但是思路都是对的。
作者: 不怕黑人    时间: 2015-7-15 23:35
新手ing 发表于 2015-7-15 22:58
设置两个指针i,j,i指向头,j指向尾,i每次++,j每次--判断str和str[j]是否相等,只要不等,break,相等,i ...

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

空间换时间是什么意思?
:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2