zoukankan      html  css  js  c++  java
  • 剑指offer二叉树中和为某一值的路径python

    题目描述

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

    思路

    回溯法 ,定义一个当前路径和所有路径。

    代码

    # -*- coding:utf-8 -*-
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    class Solution:
        def __init__(self):
            self.onePath =[]
            self.allPath = []
        # 返回二维列表,内部每个列表表示找到的路径
        def FindPath(self, root, expectNumber):
            # write code here
            if not root:
                return self.allPath
            self.onePath.append(root.val)
            expectNumber -= root.val
            if not root.left and not root.right and expectNumber == 0:
                self.allPath.append(self.onePath[:])
            elif expectNumber > 0:
                self.FindPath(root.left,expectNumber)
                self.FindPath(root.right,expectNumber)
            self.onePath.pop()
             
            return self.allPath
  • 相关阅读:
    细说java平台日志组件
    linux远程执行命令
    linux命令 common 文件比较
    Linux Shell脚本编程--cut命令
    linux sort命令
    shell中if判断一个变量为空
    linux shell if参数
    wc命令
    date 命令
    let 与 expr Shell运算比较 let强强胜出
  • 原文地址:https://www.cnblogs.com/wangzhihang/p/11792920.html
Copyright © 2011-2022 走看看