标签:bool 增加 let stat false solution http static char
Feb 17, 2020 ~ Feb 23, 2020
Problem 205.Isomorphic Strings(同构字符串) 题目链接
题目描述:给定两个字符串 s 和 t,判断是否可以通过字符替换从 s 得到 t。顺序不可以改变,同时不允许两个字符映射到同一个字符,但允许一个字符映射到它自身。举例如下:
Input: s = "egg", t = "add"
Output: true
Input: s = "foo", t = "bar"
Output: false
思路为:可以通过字典来建立映射关系。因为不允许两个字符映射到同一个字符,因此需要检查将要映射的字符是否已经出现在字典的 value 中。总结下来便是:若键值已出现在字典的 key 中,那么检查是否满足映射关系,若不满足,则为 False。满足继续遍历;若键值未出现在字典的 key 中,检查将要映射的字符是否已经出现在字典的 value 中,若出现,则为 False,若没有则更新现有的映射关系。直到遍历结束,则为 True
通过的代码如下
class Solution:
def isIsomorphic(self, s: str, t: str) -> bool:
char_map = {}
res = True
for i in range(len(s)):
if (s[i] not in char_map) and (t[i] not in char_map.values()):
char_map[s[i]] = t[i]
elif (s[i] not in char_map) and (t[i] in char_map.values()):
res = False
break
else:
if char_map[s[i]] != t[i]:
res = False
break
return res
本周继续 Review 每个程序员需要知道的 97 件事(英文名:97 Things Every Programmer Should Know)。原文链接。下面是本周的5个小内容:
C/C++ 中 static 作为修饰词修饰函数的作用:避免冲突限定作用域,一个函数只可以在一个文件中出现。
本周花了不少时间在折腾某些基础设施和无聊的事,因为不太熟悉,消耗了太多时间。原来真正打算做的事结果并没有做了多少。
标签:bool 增加 let stat false solution http static char
原文地址:https://www.cnblogs.com/mengxinayan/p/12348675.html