zoukankan      html  css  js  c++  java
  • LeetCode-Binary Tree Paths

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

    For example, given the following binary tree:

       1
     /   
    2     3
     
      5
    

    All root-to-leaf paths are:

    ["1->2->5", "1->3"]

    Credits:
    Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

     Solution:
    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public List<String> binaryTreePaths(TreeNode root) {
            List<String> resList = new LinkedList<String>();
            StringBuilder builder = new StringBuilder();
            binaryTreePaths(root,builder,resList);
            return resList;
        }
        
        public void binaryTreePaths(TreeNode cur, StringBuilder builder, List<String> resList){
            if (cur==null){
                return;
            }
            
            builder.append(cur.val);
            if (cur.left==null && cur.right==null){
                resList.add(builder.toString());
                return;
            }
            
            builder.append("->");
            int len = builder.length();
            binaryTreePaths(cur.left,builder,resList);
            builder.setLength(len);
            binaryTreePaths(cur.right,builder,resList);
        }
    }
  • 相关阅读:
    操作集锦
    大吉大利(算贡献)
    96. 奇怪的汉诺塔
    P760通天之汉诺塔
    First Last Sorting
    9.12小结
    day_06
    day_05作业
    day_05
    day_04
  • 原文地址:https://www.cnblogs.com/lishiblog/p/5870494.html
Copyright © 2011-2022 走看看