zoukankan      html  css  js  c++  java
  • 给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串

     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 }
  • 相关阅读:
    hive 修复分区、添加二级分区
    hive sql 查询一张表的数据不在另一张表中
    shell 命令 bc linux下的计算器
    shell 命令 grep -v
    shell 命令 -- 漂亮的资源查看命令 htop
    shell 命令 --ps aux | grep
    presto调研和json解析函数的使用
    shell wc -l
    hive 动态分区与混合分区
    ThreadLocal原理分析与使用场景(转)
  • 原文地址:https://www.cnblogs.com/luoweiKnowledge/p/3953474.html
Copyright © 2011-2022 走看看