Day31

作者: wendy_要努力努力再努力 | 来源:发表于2017-12-21 09:50 被阅读0次
    1. Average of Levels in Binary Tree
      思路:二叉树的每层的均值,开始想的是如何此才能用递归将每层的值找出来,然后用个average,可惜做了那么多题,还是不会递归该怎么写。很明显写了个新的函数,在新函数里有嵌套递归,将左右结点付给函数作为参数,最终只要调用root作为函数参数,内部便会一直计算下去。
    class Solution(object):
        def averageOfLevels(self, root):
            """
            :type root: TreeNode
            :rtype: List[float]
            """
            info = []
            def dfs(node,depth=0):
                if node:
                    if len(info) <= depth:
                        info.append([0,0]) #这是每层的初始化,必须有
                    info[depth][0] += node.val
                    info[depth][1] += 1
                    dfs(node.left,depth+1)
                    dfs(node.right,depth+1)
            dfs(root)
            
            return [s/float(c) for s,c in info] #题目中指明要float类型 一般为Int所以需要强制转换
    
    1. Longest Uncommon Subsequence I
      思路:难怪反对率这么高,求最长的不工子序列,那不就是两个序列如果不相等,短的那条便是最长的不公共子序列
    class Solution(object):
        def findLUSlength(self, a, b):
            """
            :type a: str
            :type b: str
            :rtype: int
            """
            if a == b:
                return -1
            return max(len(a), len(b))
    

    相关文章

      网友评论

          本文标题:Day31

          本文链接:https://www.haomeiwen.com/subject/sutowxtx.html