496. Next Greater Element I
建立nums中每个元素与其大一点值的映射,
class Solution(object):
def nextGreaterElement(self, findNums, nums):
"""
:type findNums: List[int]
:type nums: List[int]
:rtype: List[int]
"""
d = {}
stack = []
res = []
for x in nums:
while len(stack) and stack[-1] < x:
d[stack.pop()] = x
stack.append(x)
for x in findNums:
res.append(d.get(x, -1))
return res
104. Maximum Depth of Binary Tree
class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root:
return max(1 + self.maxDepth(root.left), 1 + self.maxDepth(root.right))
else:
return 0
389. Find the Difference
Java的方法比较好理解,就是计算所有char加到一起的值,然后再相减,得到的差值再还原成char
class Solution(object):
def findTheDifference(self, s, t):
"""
:type s: str
:type t: str
:rtype: str
"""
return list((collections.Counter(t) - collections.Counter(s)))[0]