• 二叉树中和为某一值的路径


     1 # -*- coding:utf-8 -*-
     2 class TreeNode():
     3     def __init__(self,x):
     4         self.val = x
     5         self.left = None
     6         self.right = None
     7  
     8 def function(root,target_number):
     9     result = []
    10     if not root:
    11         return result
    12 #    如果只有根节点或者找到叶子节点,我们就把其值返回
    13     if not root.left and not root.right and root.val == target_number:
    14         return [[root.val]]
    15     else:
    16 #    如果不是叶子节点,我们分别对根节点的左子树、右子树进行递归,注意修改变量:
    17         left = function(root.left,target_number - root.val)
    18         right = function(root.right,target_number - root.val)
    19         for item in left+right:
    20             result.append([root.val]+item)
    21         return result

    二叉树中和为某一值的路径

    题目描述
    输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

    思路:首先要理解题意,是从根节点往子节点连。

    1、如果只有根节点或者找到叶子节点,我们就把其对应的val值返回

    2、如果不是叶子节点,我们分别对根节点的左子树、右子树进行递归,直到找到叶子结点。然后遍历把叶子结点和父节点对应的val组成的序列返回上一层;如果没找到路径,其实也返回了序列,只不过是[]

  • 相关阅读:
    PowerShell2.0之Windows排错(六)检查网络故障
    确保数据安全是云计算取信于用户的关键
    企业发展如何借助“云的力量”
    PowerShell2.0之维护网络(三)设置网络适配器
    Feign最佳实践
    Nacos注册中心原理
    GateWay网关快速入门
    Nacos集群搭建
    Feign快速入门
    Feign的性能优化
  • 原文地址:https://www.cnblogs.com/cupleo/p/10875509.html
Copyright © 2020-2023  润新知