zoukankan      html  css  js  c++  java
  • 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串

    示例 1:

    输入: s1 = "abc", s2 = "bca"
    输出: true
    示例 2:

    输入: s1 = "abc", s2 = "bad"
    输出: false

    //我的解决方案
    class Solution {
        public boolean CheckPermutation(String s1, String s2) {
    
            if (s1.length() != s2.length()) {
                return false;
            } else {
                char[] chars = s1.toCharArray();
                char[] chars1 = s2.toCharArray();
                Arrays.sort(chars);
                Arrays.sort(chars1);
    //         return  Arrays.equals(chars, chars1); 看到别人的实现方式和自己一样,学到了Arrays中可以这样判断两个数组是否一样,学到了
               return String.valueOf(chars).equals(String.valueOf(chars1)) ? true : false;
    
            }
    
        }
    
    }
    
    
    //方案二
    /**
    把字符串s1放到map中进行统计,再用s2去验证
    */
    
    public static boolean CheckPermutation(String s1, String s2) {
            if(s1.length() != s2.length())
                return false;
            HashMap<Character, Integer> map = new HashMap<>();//k:字符  v:数量
            //将s1的字符添加到map中
            for(char ch : s1.toCharArray()){
                if(map.containsKey(ch)){
                    int i = map.get(ch);
                    map.put(ch, ++i);
                }else{
                    map.put(ch, 1);
                }
            }
            //判断s2中字符出现的次数是否和s1相同
            for(char ch : s2.toCharArray()){
                if(map.containsKey(ch)){
                    int i = map.get(ch);
                    map.put(ch, --i);
                    if(i < 0){//s2中的某个字符比第一个字符出现的次数多,直接就可以断定不相等了
                        return false;
                    }
                }else{
                    return false;
                }
            }
            return true;
        }
    
    
    
    
  • 相关阅读:
    elasticsearch配置文件
    elk+filebeat源码安装
    logstash配置文件
    kibana配置文件
    filebeat配置文件
    老年人和棒子(李敖)
    Linux下傻瓜式安装配置V_2_r_a_y
    【有关学习Q国的自动化工具的学习思路】
    有关在使用aireplay-ng处理5Ghz频段的wifi时出现“No such Bssid available”的解决方法
    springboot整合日志logback
  • 原文地址:https://www.cnblogs.com/love-xk/p/13053157.html
Copyright © 2011-2022 走看看