黑马程序员技术交流社区

标题: 对称字符 [打印本页]

作者: 何堂红    时间: 2014-6-11 23:12
标题: 对称字符
本帖最后由 何堂红 于 2014-6-12 00:32 编辑

* 题目:1、 判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
对于这个题目,我没思路啊
作者: 何堂红    时间: 2014-6-12 00:31
我自己多研究了下,已经解决了,还是深夜的效率高啊,呵呵
  1. import java.util.Scanner;

  2. public class Test01 {

  3.         /**
  4.          * 题目:1、 判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
  5.          *
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 //接收键盘输入
  10.                 Scanner sc =new Scanner(System.in);
  11.                 System.out.println("请输入要判定对称的字符串:");
  12.                 String line = sc.nextLine();
  13.                 //调用对称判定的方法,将接收的字符串作为参数传递
  14.                 boolean b = duiChenString(line);
  15.                 System.out.println(b);
  16.         }

  17.         public static boolean duiChenString(String str) {
  18.                 boolean result = true;
  19.                 char[] ch = str.toCharArray();                                        //将字符串转换为字符数组
  20.                 for (int i = 0; i <= ch.length / 2; i++) {
  21.                         if (ch[i] != ch[ch.length - i - 1]) {                //将第i个元素与倒数第i个元素进行比较
  22.                                 result = false;
  23.                         }
  24.                 }
  25.                 return result;
  26.         }

  27. }
复制代码

作者: 唐坚    时间: 2014-6-12 00:59
刚自己也写了 但楼上的方法还是简单些,所以就不写了。

result = false;
这段代码可以改成这样  减少了判断次数

{result = false;
break;
}
作者: 何堂红    时间: 2014-6-12 22:28
唐坚 发表于 2014-6-12 00:59
刚自己也写了 但楼上的方法还是简单些,所以就不写了。

result = false;

嗯,谢谢
作者: 马宁    时间: 2014-6-12 22:42
来看看  ,学习了 !
作者: LHP    时间: 2014-6-12 23:01
uuuuuuuuuuuuuuuuu
作者: 焦国军    时间: 2014-6-12 23:16
何堂红 发表于 2014-6-12 00:31
我自己多研究了下,已经解决了,还是深夜的效率高啊,呵呵

深夜就是程序员的白天的
作者: 何堂红    时间: 2014-6-13 00:27
焦国军 发表于 2014-6-12 23:16
深夜就是程序员的白天的

确实是的~~




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