黑马程序员技术交流社区
标题:
求助,这道题应该怎么做?
[打印本页]
作者:
清净明诲
时间:
2014-7-15 22:17
标题:
求助,这道题应该怎么做?
判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串 ,,,对于这道题毫无思路,求解,谁能帮忙解答下,谢谢啦
作者:
xiaogh
时间:
2014-7-15 22:25
从两端开始比较首位两个字母的是否一样,不一样就表示不是对称
作者:
chensuyu
时间:
2014-7-15 22:31
定义两个指针,一个从前向后循环,一个从后向前
作者:
blue_sky
时间:
2014-7-15 22:39
对字符串通过判断长度的单双,根据结果进行切分,对其中一个翻转,在比较。这也是一种思路。不过,还是将2、3楼意见结合一下,注意判断长度应该是比较好的思路。
作者:
格子、
时间:
2014-7-16 07:21
反转一比较就可以了啊,
package com.itheima.test;
/*
* 2.判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
* 思路:
* 1.判断一个字符串是丢对称,也就是说要分割成两部分,且前后都要相等才算对称
* 2.将字符串反转,判断内容是否相等,相等就是对称
* 3.用stringbuilder把字符串反转
* */
public class Test2 {
/**
* @param args
*/
public static void main(String[] args)
{
String s = "aba";
//利用JudgeString方法判断字符串是否对称
JudgeString(s);
}
public static void JudgeString(String str)
{
StringBuilder sb = new StringBuilder(str);
//将字符串反转
sb.reverse();
//将反转的字符串与原字符串比较
boolean b= str.equals(sb.toString());
if(b==true)
System.out.println("您输入字符串是对称字符串");
else
System.out.println("您输入字符串是不是对称字符串");
}
}
复制代码
作者:
清净明诲
时间:
2014-7-16 22:10
格子、 发表于 2014-7-16 07:21
反转一比较就可以了啊,
谢谢啊,非常感谢
作者:
郝培慧
时间:
2014-7-16 22:19
第一个和最后一个比,以此类推,
作者:
毕业生
时间:
2014-7-16 22:56
解答的那么详细!
作者:
江祖贇
时间:
2014-7-16 23:03
格子、 发表于 2014-7-16 07:21
反转一比较就可以了啊,
great
我也是这么做的
作者:
icris
时间:
2014-7-16 23:12
public static boolean isSymmetry(String string) {
return string.equals(new StringBuilder(string).reverse().toString());
}
复制代码
作者:
TreeSet
时间:
2014-7-16 23:44
看一下~~
作者:
IT初学者
时间:
2014-7-17 11:46
翻转可以比较。也可以首位变亮i,j依次+1,-1的进行比较,相同则比较下一位,直到首尾的那两个变量i<=j时比较结束证明是对称,否则不是。。
作者:
a191170796
时间:
2014-7-17 15:27
考虑一下算法和简洁性!10楼是最牛掰的。。!
作者:
扛把子
时间:
2014-7-17 15:57
icris 发表于 2014-7-16 23:12
高手在民间:handshake
作者:
Caincxy
时间:
2014-7-17 16:03
厉害啊,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2