首页 > 其他分享 >leetcode-257-easy

leetcode-257-easy

时间:2022-11-01 20:13:35浏览次数:109  
标签:right val 257 isEmpty result easy root leetcode left

Binary Tree Paths

Given the root of a binary tree, return all root-to-leaf paths in any order.

A leaf is a node with no children.

Example 1:


Input: root = [1,2,3,null,5]
Output: ["1->2->5","1->3"]
Example 2:

Input: root = [1]
Output: ["1"]
Constraints:

The number of nodes in the tree is in the range [1, 100].
-100 <= Node.val <= 100

思路一:递归,从叶子节点往上回溯。看了一下题解,也可以从根节点往下构造,两种思路,从根节点往下构造代码会简洁很多

public List<String> binaryTreePaths(TreeNode root) {
    ArrayList<String> result = new ArrayList<>();
    if (root == null) {
        return result;
    }

    List<String> left = binaryTreePaths(root.left);
    List<String> right = binaryTreePaths(root.right);

    if (left.isEmpty() && right.isEmpty()) {
        result.add(root.val + "");
    }

    if (!left.isEmpty()) {
        for (String s : left) {
            result.add(root.val + "->" + s);
        }
    }

    if (!right.isEmpty()) {
        for (String s : right) {
            result.add(root.val + "->" + s);
        }
    }

    return result;
}

标签:right,val,257,isEmpty,result,easy,root,leetcode,left
From: https://www.cnblogs.com/iyiluo/p/16848964.html

相关文章

  • leetcode-1304-easy
    FindNUniqueIntegersSumuptoZeroGivenanintegern,returnanyarraycontainingnuniqueintegerssuchthattheyaddupto0.Example1:Input:n=5O......
  • leetcode-118-easy
    Pascal'sTriangleGivenanintegernumRows,returnthefirstnumRowsofPascal'striangle.InPascal'striangle,eachnumberisthesumofthetwonumbersdir......
  • leetcode-1137-easy
    N-thTribonacciNumberTheTribonaccisequenceTnisdefinedasfollows:T0=0,T1=1,T2=1,andTn+3=Tn+Tn+1+Tn+2forn>=0.Givenn,returnthe......
  • python: easyocr的安装和使用(easyocr 1.6.2 / Python 3.7.15 )
    一,安装easyocr:1,官网:https://www.jaided.ai/项目代码地址:https://github.com/JaidedAI/EasyOCR通过pip安装:[root@blog~]#pip3installeasyocr查看......
  • 如何在EasyCVR平台配置AI智能识别的微信端告警消息推送?
    我们在此前的文章中和大家分享过关于EasyCVR视频融合平台智能告警相关的开发及功能介绍,其中包括微信端的开发流程分享,感兴趣的用户可以翻阅往期的文章进行了解。智能告警功......
  • EasyCVR平台基于萤石云SDK接入的设备播放流程及接口调用
    EasyCVR视频融合云服务支持海量视频汇聚与管理、处理与分发、智能分析等视频能力,在功能上,可支持视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服......
  • EasyCVR视频融合平台添加萤石云SDK接入的设计与开发流程
    我们在前期的文章中介绍过关于EasyCVR近期新增了多个功能,包括SDK接入方式的拓展。经过一段时间的设计、开发与测试,EasyCVR平台已经支持稳定接入华为SDK、宇视SDK、乐橙SDK、......
  • leetcode111-二叉树的最小深度
    111.二叉树的最小深度 这道题相比 104.二叉树的最大深度 还是难上一些的,但也不算太难。BFS/***Definitionforabinarytreenode.*structTreeNode{......
  • leetcode-2. 两数相加
    题目描述给你两个 非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一......
  • LeetCode 236. 二叉树的最近公共祖先 - 回溯的理解
    题目https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/思路自己做只摸到一些门道,还是靠随想录...代码:deflowestCommonAncestor(self,root:'......