美文网首页面试算法
牛客-剑指0ffer-二叉树中和为某一值的路径

牛客-剑指0ffer-二叉树中和为某一值的路径

作者: wenyilab | 来源:发表于2019-08-03 07:57 被阅读4次

    题目描述
    输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)

    # -*- coding:utf-8 -*-
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    class Solution:
        # 返回二维列表,内部每个列表表示找到的路径
        def FindPath(self, root, expectNumber):
            # write code here
            if not root:
                return []
            expectNumber -= root.val
            left = root.left
            right = root.right
            if expectNumber == 0 and left is None and right is None:
                return [[root.val]]
            res = []
            leftlist = self.FindPath(left,expectNumber)
            rightlist = self.FindPath(right,expectNumber)
            for i in leftlist+rightlist:
                res.append([root.val] + i)
            return res
    

    相关文章

      网友评论

        本文标题:牛客-剑指0ffer-二叉树中和为某一值的路径

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