📣 独立日限时特惠: VIP通行证立减$68
查看: 1822| 回复: 5
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] Binary Tree Preorder Traversal,理解不这里的recursion啊

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
原题是这样的,Given a binary tree, return the preorder traversal of its nodes' values.

我的solution是这样的,我不能理解的是每次这个method都要create a new arrayList, 那结果不是RETURN的最后一个加到这个LIST里面的元素吗?其他的都元素是不是都没有被加进去?
public class Solution {
    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> result = new ArrayList<Integer>();
        if(root==null) return result;
        result.add(root.val);
        preorderTraversal(root.left);
        preorderTraversal(root.right);
        return result;
    }
}

上一篇:请教如何准备software test engineer / QA面试
下一篇:zillow coding test..挂了.求分析..自己写的test cases都能过的e...
推荐
jby1797 2014-11-4 11:35:38 | 只看该作者
全局:
本帖最后由 rsun 于 2014-11-4 11:41 编辑

你的方法返回的是【1】不是【3】,因为你等于下面的做了没返回来
在你的方法上稍微改一下,就可以返回全部
  1. public class Solution {
  2. public List<Integer> preorderTraversal(TreeNode root) {
  3. List<Integer> result = new ArrayList<Integer>();
  4. if(root==null) return result;
  5. result.add(root.val);
  6. result.addAll(preorderTraversal(root.left));
  7. result.addAll(preorderTraversal(root.right));
  8. return result;
  9. }
  10. }
复制代码


最后,同意二楼的意见,,去查查大牛怎么解的吧

点评

排版是我的错。。介于行数不多。。将就看吧。  发表于 2014-11-4 12:08

评分

参与人数 1大米 +20 收起 理由
Kimurate + 20 排版是美中不足

查看全部评分

回复

使用道具 举报

🔗
 楼主| voiding 2014-11-4 09:08:24 | 只看该作者
全局:
不知道表达清楚没有,例如一个binary search tree {1,2,3}, 我的solution应该return 的是[3].
回复

使用道具 举报

🔗
christy.zhang 2014-11-4 11:31:40 | 只看该作者
全局:
每次都new一个arraylist应该不对吧 我感觉应该是把arraylist放在你recursive的方法里 每次往里面加
至少方法的definition应该是 preOrder(TreeRoot root, List list)
同学习recursive 觉得好抽象
回复

使用道具 举报

🔗
 楼主| voiding 2014-11-5 06:38:04 | 只看该作者
全局:
rsun 发表于 2014-11-4 11:35
你的方法返回的是【1】不是【3】,因为你等于下面的做了没返回来
在你的方法上稍微改一下,就可以返回全部 ...

解释得真的很清楚啊!一下就完全明白,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表