最近在刷亚麻的面试题,然后顺便想练一练python的技巧,所以就用python刷了一边。然后mark一下以后可以复习。
leetcode 771.
大概就是给定两个字符串a 和b,问b 中出现了多少次a 的字符。
记录一个python的用法:
def numJewelsInStones(self, J, S):
return sum(map(J.count, S))
这里利用了 python 的几个内置函数:map(), sum() 和count。 J.count 是一个函数,它的作用类似于遍历整个J,然后map(func,S)就是统计S 中是否有出现J 中的字符,最后返回一个list [1,1, ... 0,0,0] 最后用sum来统计。
leetcode 617 merge two binary trees
大概就是给两个二叉树,然后如果有相同的节点就直接加起来。
记录一个python 的写法:
class Solution(object):
def mergeTrees(self, t1, t2):
if not t1 and not t2:
return None
res = TreeNode((t1.val if t1 else 0) + (t2.val if t2 else 0))
res.left = self.mergeTrees(t1 and t1.left, t2 and t2.left)
res.right = self.mergeTrees(t1 a