二叉树的所有路径

    xiaoxiao2021-11-29  56

    样例

    给出下面这棵二叉树:

    1 / \ 2 3 \ 5

    所有根到叶子的路径为:

    [ "1->2->5", "1->3" ] /**  * Definition of TreeNode:  * public class TreeNode {  *     public int val;  *     public TreeNode left, right;  *     public TreeNode(int val) {  *         this.val = val;  *         this.left = this.right = null;  *     }  * }  */ public class Solution {     /**      * @param root the root of the binary tree      * @return all root-to-leaf paths      */     public List<String> binaryTreePaths(TreeNode root) {         List<String> result = new ArrayList<String>(); //result 作为最终遍历结果返回          if(root == null){              return result;          }          String string = Integer.toString(root.val);          findPath(root,string,result);          return result;     }          public void findPath(TreeNode root,String str,List<String> result){         String left = new String();         String right = new String();         if(root.left != null){             left = str + "->" + Integer.toString(root.left.val);             this.findPath(root.left,left,result); //递归遍历当前节点的左子树         }         if(root.right != null){             right = str + "->" + Integer.toString(root.right.val);             this.findPath(root.right,right,result); //递归遍历当前节点的右子树         }         if(root.left == null && root.right == null){             result.add(str);         }              } }
    转载请注明原文地址: https://ju.6miu.com/read-678604.html

    最新回复(0)