博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
****LeetCode257. Binary Tree Paths
阅读量:2241 次
发布时间:2019-05-09

本文共 935 字,大约阅读时间需要 3 分钟。

Given a binary tree, return all root-to-leaf paths.

Note: A leaf is a node with no children.

Example:

Input:   1 /   \2     3 \  5Output: ["1->2->5", "1->3"]Explanation: All root-to-leaf paths are: 1->2->5, 1->3

思路:看了discuss里面的提示,写了这个方法.思路比较清晰,用递归的方法,先列出终止条件1.root为空 2.没有左右孩子(叶子节点)

有问题的是在于两个递归一个用'=',一个用'+='.这是因为需要返回所有root到leaf的路径,如果两个都是'='的话,只能返回一条路径.

# Definition for a binary tree node.# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    def binaryTreePaths(self, root):        """        :type root: TreeNode        :rtype: List[str]        """        if not root:            return []        if not root.left and not root.right:            return [str(root.val)]        path = [str(root.val)+'->' + p for p in self.binaryTreePaths(root.left)]        path += [str(root.val)+'->' + p for p in self.binaryTreePaths(root.right)]        return path

 

转载地址:http://qsrbb.baihongyu.com/

你可能感兴趣的文章
zookeeper客户端命令行查看dubbo服务的生产者和消费者
查看>>
intellij idea 相关搜索快捷键
查看>>
oracle查看数据库连接池中最大连接数和当前用户连接数等信息
查看>>
oracle中创建同义词(synonyms)表
查看>>
建立DB-LINK和建立视图
查看>>
普通视图和物化视图的区别(转)
查看>>
物化视图加DBLINK实现数据的同步_20170216
查看>>
Redis在京东到家的订单中的使用
查看>>
idea 注释模板设置
查看>>
单例模式singleton为什么要加volatile
查看>>
Oracle_spatial的空间操作符
查看>>
SDO_GEOMETRY结构说明
查看>>
oracle 的 SDO_GEOMETRY
查看>>
往oracle中插入geometry的两种方式
查看>>
Oracle Spatial中的Operator操作子 详细说明
查看>>
Oracle Spatial中SDO_Geometry详细说明
查看>>
oracle 聚合函数 LISTAGG ,将多行结果合并成一行
查看>>
Oracle列转行函数 Listagg() 语法详解及应用实例
查看>>
LISTAGG函数的用法
查看>>
Oracle Spatial操作geometry方法
查看>>