您的位置:首页 > Web前端 > Node.js

LeetNode--No.257--Binary Tree Paths

2016-07-16 03:55 411 查看
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"]


开启了一个新的Tag

方法一:递归法

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
private List<String> list;

public List<String> binaryTreePaths(TreeNode root) {
list = new ArrayList<String>();
if(root != null)
traverse(root, String.valueOf(root.val));
return list;
}
public void traverse(TreeNode treeNode, String s){
if (treeNode.left == null && treeNode.right == null)
list.add(s);
if(treeNode.left != null)
traverse(treeNode.left, s + "->" + treeNode.left.val);
if(treeNode.right != null)
traverse(treeNode.right, s+"->"+treeNode.right.val);
}
}

方法二:
还没想粗来=。=
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: