​LeetCode刷题实战257:二叉树的所有路径

程序IT圈

共 2971字,需浏览 6分钟

 ·

2021-05-10 14:33

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !

今天和大家聊的问题叫做 二叉树的所有路径,我们先来看题面:
https://leetcode-cn.com/problems/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.

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。

解题



/**
 * Definition for a binary tree node.
 * public class TreeNode {
 * int val;
 * TreeNode left;
 * TreeNode right;
 * TreeNode(int x) { val = x; }
 * }
 */

class Solution {
    public  List<String> binaryTreePaths(TreeNode root) {
        List<String> list = new LinkedList<>();
        helper(root, "", list);
        return list;
    }
    
    private void helper(TreeNode root, String s, List<String>list){
        if (root == null){
            return;
        }
        
        s = s + root.val;
        
        if (root.left == null && root.right == null){
            list.add(s);
            return;
        }
        
        if (root.left != null){
            helper(root.left, s + "->", list);
        }

        if (root.right != null){
            helper(root.right, s + "->", list);
        }
    }
 
    
 
}


好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。

上期推文:

LeetCode1-240题汇总,希望对你有点帮助!

LeetCode刷题实战241:为运算表达式设计优先级

LeetCode刷题实战242:有效的字母异位词

LeetCode刷题实战243:最短单词距离

LeetCode刷题实战244:最短单词距离 II

LeetCode刷题实战245:最短单词距离 III

LeetCode刷题实战246:中心对称数

LeetCode刷题实战247:中心对称数II

LeetCode刷题实战248:中心对称数III

LeetCode刷题实战249:移位字符串分组

LeetCode刷题实战250:统计同值子树

LeetCode刷题实战251:展开二维向量

LeetCode刷题实战252:会议室

LeetCode刷题实战253:会议室II

LeetCode刷题实战254:因子的组合

LeetCode刷题实战255:验证前序遍历序列二叉搜索树
LeetCode刷题实战256:粉刷房子

浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报