zoukankan      html  css  js  c++  java
  • 字符重排

    此博客链接:https://www.cnblogs.com/ping2yingshi/p/14017921.html

    字符重排

    题目

    题目链接:https://leetcode-cn.com/problems/check-permutation-lcci/

    给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

    示例 1:

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

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

    0 <= len(s1) <= 100
    0 <= len(s2) <= 100

    题解

    题意:一个字符串的每个字母和另外一个字符串的每个字母一样。

    思路:判断一个字符串中的每个字符是否在另外一个字符串中都存在,并且个数相等。

    方法:

            1.先判断两个字符串长度是都相等,如果长度都不相等,那么其中一个字符串经过重排一定不肯能变成另外一个字符串。

            2.长度相等时,判断两个字符串中相同字母出现的次数是否相等,如果不相等,那么其中一个字符串经过重排一定不肯能变成另外一个字符串。

     代码

    class Solution {
        public boolean CheckPermutation(String s1, String s2) {
            int len1=s1.length();
            int len2=s2.length();
            if(len1!=len2)
               return false;
            char emp []={'a','b','c','d','e','f','g','h','i','g','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','G','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    
            //char datas[] = {'a', 'b', 'c'};
            //最多52个不同字母,26个大小写
            int result1[]=new int[52];
            int result2[]=new int[52];
            if(len1==len2){
                //先判断第一个字符串中每种字母包含多少个
                for(int i=0;i<52;i++)
                {
                   for(int j=0;j<len1;j++)
                   {
                      if(emp[i]==s1.charAt(j))
                          result1[i]++;
                   }
                }
                for(int i=0;i<52;i++)
                {
                    for(int j=0;j<len2;j++)
                    {
                        if(emp[i]==s2.charAt(j))
                          result2[i]++;
                    }
                }
            }
            for(int i=0;i<52;i++)
            {
                if(result1[i]!=result2[i])
                    return false;
            }
          return true;
        }
    }
    出来混总是要还的
  • 相关阅读:
    学电脑入门与提高
    Autodesk Revit Architecture 2014官方标准教程
    Photoshop移动UI界面设计实用教程 全彩超值版
    中文版SQL Server 2000开发与管理应用实例
    Excel2016数据处理与分析从新手到高手
    云计算(第三版)
    无线局域网搭建与管理
    R语言数据挖掘
    Spring 3.0就这么简单
    SVN使用教程总结
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/14017921.html
Copyright © 2011-2022 走看看