257. Binary Tree Paths | 二叉树的路径

来源:互联网 发布:python离线安装包下载 编辑:程序博客网 时间:2024/05/22 01:41

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.

Subscribe to see which companies asked this question.


思路:采用深度优先遍历。

/** * 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> list = new ArrayList<>();binaryTreePathsHelper(root, list, new String());return list;}public void binaryTreePathsHelper(TreeNode root, List<String> list, String string) {if (root == null) {return;}if (root.left == null && root.right == null) {string = string+ root.val;list.add(string);return;}binaryTreePathsHelper(root.left, list, string + root.val + "->");binaryTreePathsHelper(root.right, list, string + root.val + "->");}}




0 0
原创粉丝点击