您的位置:首页 > 大数据 > 人工智能

[lintcode] - 391 Number of Airplanes in the Sky

2016-01-27 09:53 405 查看
easy难度的题,基本上是不允许错的,也必须10分钟内做出来。

思路很简单,递归至最深处将结果保存即可。

/**
* @author: decaywood
* @date: 2016/1/27 9:30
*
* Given a binary tree, return all root-to-leaf paths.
*
* Example
* Given the following binary tree:
*
*           1
*         /   \
*        2     3
*         \
*          5
* All root-to-leaf paths are:
*
* [
*  "1->2->5",
*  "1->3"
* ]
*
*/
public class BinaryTreePaths {

public List<String> binaryTreePaths(TreeNode root) {
List<String> list = new ArrayList<>();
getPath(list, root, "");
return list;
}

private void getPath(List<String> res, TreeNode root, String path) {
if (root == null) return;
path = path + "->" + root.val;
if(root.left == null && root.right == null) res.add(path.substring(2));
getPath(res, root.left, path);
getPath(res, root.right, path);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: