谷德设计网作品集,seo推广排名,深圳网站设计兴田德润简介,网站后台图片做链接题目描述#xff1a;
给定两个由小写字母组成的字符串 s1 和 s2#xff0c;请编写一个程序#xff0c;确定其中一个字符串的字符重新排列后#xff0c;能否变成另一个字符串。
示例 1#xff1a;
输入: s1 abc, s2 bca
输出: true 示例 2
给定两个由小写字母组成的字符串 s1 和 s2请编写一个程序确定其中一个字符串的字符重新排列后能否变成另一个字符串。
示例 1
输入: s1 abc, s2 bca
输出: true 示例 2
输入: s1 abc, s2 bad
输出: false说明
0 len(s1) 100 0 len(s2) 100
题目链接
. - 力扣LeetCode
解题主要思想
如果s1和s2互为重排字符那么s1和s2的长度一定是相等的。然后我们可以借助数组实现一个hash判断s1的字符及数量是否和s2相同即可。
解题代码
class Solution {
public:bool CheckPermutation(string s1, string s2) {if (s1.size() ! s2.size()) return false;int map1[130];for (auto c : s1) {map1[c];}for (auto c : s2) {if ( map1[c] 0) --map1[c];else return false;}return true;}
};