怎么把自己做的网站发布/宁波网站关键词优化代码
文章目录
- 题目
- 解析
- 哈希
- 官方解答-哈希
题目
205. 同构字符串 - 力扣(LeetCode)
解析
哈希
笨拙的方式
- 通过两个hash记录状态。
- charmap记录字符替换方案
- charintmap确保两个字符不能映射到同一个字符上
class Solution {
public:bool isIsomorphic(string s, string t) {int lens=s.size(),lent=t.size();if(lens!=lent)return false;unordered_map<char,char> charmap;unordered_map<char,int> charintmap;for(int i=0;i<lens;++i){if(charmap.count(s[i])==0){if(charintmap.count(t[i])){return false;}charmap[s[i]]=t[i];charintmap[t[i]]=1;}else if(charmap[s[i]]!=t[i]){return false;}}return true;}
};
官方解答-哈希
同样是利用两个hash数组记录状态。但有所区别。
class Solution {
public:bool isIsomorphic(string s, string t) {unordered_map<char, char> s2t;unordered_map<char, char> t2s;int len = s.length();for (int i = 0; i < len; ++i) {char x = s[i], y = t[i];if ((s2t.count(x) && s2t[x] != y) || (t2s.count(y) && t2s[y] != x)) {return false;}s2t[x] = y;t2s[y] = x;}return true;}
};
/*
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/isomorphic-strings/solution/tong-gou-zi-fu-chuan-by-leetcode-solutio-s6fd/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/