《程序员面试金典》确定两串乱序同构

【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】

题目链接:?rp=1&ru=/ta/cracking-the-coding-interview&qru=/ta/cracking-the-coding-interview/question-ranking

题目描述给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,,且考虑字符串重点空格。给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。测试样例:"This is nowcoder","is This nowcoder"返回:true"Here you are","Are you here"返回:false思路使用哈希统计两个字符串中每个字符的个数,最后再来比较,一旦有不相等的,自然就返回false

class Same{public:bool checkSam(string stringA, string stringB){// write code hereint lenA = stringA.length();int lenB = stringB.length();if(lenA!=lenB)return false;int cntA[256] {0},cntB[256] {0};for(int i = 0; i<lenA; i++)cntA[stringA[i]]++;for(int i = 0; i<lenB; i++)cntB[stringB[i]]++;for(int i = 0; i<256; i++)if(cntA[i]!=cntB[i])return false;return true;}};

版权声明:本文为博主原创文章,如果转载,请注明出处

一个人最大的破产是绝望,最大的资产是希望。

《程序员面试金典》确定两串乱序同构

相关文章:

你感兴趣的文章:

标签云: