Leetcode: NO.257二叉树的所有路径前序遍历

tech2025-03-06  16

题目

给定一个二叉树,返回所有从根节点到叶子节点的路径。

说明: 叶子节点是指没有子节点的节点。

示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3

链接:https://leetcode-cn.com/problems/binary-tree-paths

解题记录

通过前序遍历遍历整个树通过判断无左右子叶为终结每个过程添加num->,如果为总结只添加数值 /** * @author: ffzs * @Date: 2020/9/4 上午7:28 */ public class Solution { List<String> res = new ArrayList<>(); public List<String> binaryTreePaths(TreeNode root) { StringBuilder sb = new StringBuilder(); dfs(root, sb); return res; } private void dfs(TreeNode root, StringBuilder sb) { if (root != null) { if (root.left == null && root.right == null) { res.add(sb.append(root.val).toString()); return; } sb.append(root.val).append("->"); if (root.left!=null) dfs(root.left, new StringBuilder(sb)); if (root.right!=null) dfs(root.right, new StringBuilder(sb)); } } } class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }

最新回复(0)