[leetcode]257. Binary Tree Paths二叉树路径

it2025-12-03  7

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

Note: A leaf is a node with no children.

Example:

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

 

题目

给定一棵二叉树,求出所有根到叶的路径。

 

思路

DFS, Very straightforward

 

代码

1 class Solution { 2 public List<String> binaryTreePaths(TreeNode root) { 3 List<String> result = new ArrayList<>(); 4 if(root == null) return result; 5 helper(root, result, ""); 6 return result; 7 } 8 9 private void helper (TreeNode root, List<String> result, String path){ 10 // leaf node 11 if(root.left ==null && root.right ==null) { 12 result.add(path + root.val); 13 } 14 // dfs 15 if(root.left!=null){ 16 helper(root.left, result, path+root.val+ "->"); 17 } 18 if(root.right!=null){ 19 helper(root.right, result, path+root.val+"->"); 20 } 21 } 22 }

 

转载于:https://www.cnblogs.com/liuliu5151/p/9820373.html

最新回复(0)