344. Reverse String
代码:
class Solution:
def reverseString(self, s):
"""
:type s: str
:rtype: str
"""
return s[::-1]
思路:
基础而已,没啥好说的。
151. Reverse Words in a String
代码:
class Solution(object):
def reverseWords(self, s):
"""
:type s: str
:rtype: str
"""
result = ''
words = s.strip().split()[::-1]
for i in words:
result+=i
result+=' '
return result.strip()
思路:
基础而已,没啥好说的。
186.Reverse Words in a String II(需要会员)
代码: 无
思路: 无
结果: 无
345. Reverse Vowels of a String
代码:
class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
result = list(s)
vowel = 'aeiouAEIOU'
vowels = {}
pos = []
for i in range(len(s)):
if s[i] in vowel:
vowels[i] = s[i]
pos.append(i)
for i in range(len(pos)):
result[pos[i]] = vowels[pos[len(pos)-i-1]]
return ''.join(result)
class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
result = list(s)
vows = set('aeiouAEIOU')
l, r = 0, len(s) - 1
while l <= r:
while l <= r and result[l] not in vows: l += 1
while l <= r and result[r] not in vows: r -= 1
if l > r: break
result[l], result[r] = result[r], result[l]
l, r = l + 1, r - 1
return ''.join(result)
思路:
第一思路,先遍历整个字符串获得元音字母所在位置,并用字典记录所对应的字符,在将所有元音字符进行反转即可。由于两遍遍历效率较低,可以采用二分法,从首尾同时寻找元音字符,当左右各找到一个元音字符时,进行调换即可。
注意,string 不支持下标修改操作。
205. Isomorphic Strings
代码:
class Solution:
def isIsomorphic(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
f = {}
v = set()
for i in range(len(s)):
if not s[i] in f:
if t[i] in v:
return False
f[s[i]] = t[i]
v.add(t[i])
if f[s[i]]!=t[i]:
return False
return True
思路:
利用 Map 进行映射,利用 Set 保证映射为单射。
293.Flip Game(需要会员)
代码: 无
思路: 无
结果: 无
294.Flip Game II(需要会员)
代码: 无
思路: 无
结果: 无
290. Word Pattern
代码:
class Solution:
def wordPattern(self, pattern, s):
"""
:type pattern: str
:type str: str
:rtype: bool
"""
Words = s.split()
Map = {}
Value = set()
if len(Words)!=len(pattern):
return False
for i in range(len(pattern)):
if not pattern[i] in Map:
if Words[i] in Value:
return False
Map[pattern[i]] = Words[i]
Value.add(Words[i])
else:
if Map[pattern[i]]!=Words[i]:
return False
return True
思路:
利用 Map 进行映射,利用 Set 保证映射为单射。
如果你看到了这篇文章的最后,并且觉得有帮助的话,麻烦你花几秒钟时间点个赞,或者受累在评论中指出我的错误。谢谢!
作者信息:
LeetCode:Tao Pu
CSDN:Code_Mart
Github:Bojack-want-drink