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:
All root-to-leaf paths are:
开启了一个新的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);
}
}
方法二:
还没想粗来=。=
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);
}
}
方法二:
还没想粗来=。=
相关文章推荐
- Node.js新手必须知道的4个JavaScript概念
- nodejs安装一些模块报错
- nodejs群聊和私聊
- eetcode_c++:链表:Swap Nodes in Pairs(024)
- Nodejs初阶之express
- mac安装 git npm Yeoman node.js等
- 源码安装nodejs
- node.js系列(实例):原生node.js+formidable模块实现简单的文件上传
- 237. Delete Node in a Linked List
- Sqoop import加载HBase过程中,遇到Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
- 19. Remove Nth Node From End of List
- 使用nvm进行node多版本管理
- npm, node版本更新
- 利用node.js来mock假数据
- Node.js和Express安装
- express+nodejs编程
- node.js学习笔记(21) express日志
- OpenStack Icehouse Installation - Multi Node
- 关于Node节点上一些坐标的转换的运用
- nodejs异步控制利器Async