LeetCode OJ Binary Tree Paths

来源:互联网 发布:淘宝开店交钱吗 编辑:程序博客网 时间:2024/05/12 16:01

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"]

递归的方法:

public List<String> binaryTreePaths(TreeNode root) {    List<String> answer = new ArrayList<String>();    if (root != null)        searchBT(root, "", answer);    return answer;}private void searchBT(TreeNode root, String path, List<String> answer) {    if (root.left == null && root.right == null)         answer.add(path + root.val);//并没有将path的值改变掉    if (root.left != null)         searchBT(root.left, path + root.val + "->", answer);//同理,没有将path的值改变掉,因为后面可能要用到这个值    if (root.right != null)         searchBT(root.right, path + root.val + "->", answer);}

0 0