又到了LeetCode解题时间了,今天我给各位读者带来的是两道非常相似的题目,LeetCode 205 同构字符串和890 查找和替换模式。
这两道题的目的是,比较两个字符串的内容形式是否相同,有点像小学时代的造词,比如说:喜洋洋和ABB就是同构字符串,而写代码就不是ABB形式。
利用映射到map去解答这道题,毫无疑问是一种恰当的做法。但是这里有一种简便的方式,就是在遍历字符串的时候,将当前的字符读取并在原字符串中找到其下标,简单来说,就是比较每个字符在原字符串s的位置是否和目标字符在目标字符串t的位置是否相同:
s.index(s[i])==t.index(t[i])
对于205,只需要先判断两个字符串的长度是否相等,再利用上述方法进行遍历判断,然后输出结果。
而对于890,大致解答方法和205类似,不过需要另外注意字符串组的长度以及在比较过程中的循环跳出问题。
代码详见:
205 同构字符串.py
890 查找和替换模式.py
感谢阅读,欢迎各位读者进行交流。