码迷,mamicode.com
首页 > 其他好文 > 详细

给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串

时间:2014-09-03 14:37:06      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   java   ar   div   问题   sp   

 1 /*
 2  * 给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串,其实也就是变位词问题
 3  * 比如说  a=‘abc‘ b=‘acb‘是可以通过a变成b的
 4  * 思路;
 5  * 1.应进行分析,变位词区分大小写吗?比如God和dog是变位词?还需要考虑空格问题?
 6  * 在这里我们假定是区分大小写的。
 7  * 2.比较两个字符串时,如果它们的长度都不相等了,那肯定不是变位词
 8  * 
 9  * 
10  * */
11 
12 public class IsSameString {
13 
14     public static void main(String[] args) {
15         // TODO Auto-generated method stub
16         String s="abcd";
17         String t="dcba";
18         IsSameString iss=new IsSameString();
19         boolean flag=iss.permutation(s, t);
20         if(flag)
21             System.out.println("变位词");
22         else
23         System.out.println("不是变位词");
24 
25     }
26     /*
27      * 如果两个是变位词的关系,那么它们都拥有相同的字符,只不过顺序不同,
28      * 对它们进行排序的话,会得到相同的字符串顺序
29      * 可以利用这一点进行判断
30      * 
31      * */
32     public String sort(String s)
33     {
34         char[] content = s.toCharArray();
35         java.util.Arrays.sort(content);
36         return new String(content);
37     }
38     public boolean permutation(String s,String t)
39     {
40         if(s.length()!=t.length())
41             return false;
42         return sort(s).equals(sort(t));
43     }
44     
45     
46 
47 }

 

给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串

标签:style   blog   color   io   java   ar   div   问题   sp   

原文地址:http://www.cnblogs.com/luoweiKnowledge/p/3953474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!