关注
class Solution {
LinkedList<TreeNode> queue = new LinkedList<>();
public TreeNode KthNode(TreeNode pRoot, int k) {
if (pRoot == null || k == 0)
return null;
midOrder(pRoot);
return queue.get(k - 1);
}
private void midOrder(TreeNode root) {
if (root == null) return;
midOrder(root.left);
queue.add(root);
midOrder(root.right);
}
} 老哥,我根据你的代码改了改,觉得有这几个问题: 1.递归时使用的List应该是全局变量,不能递归一次new一个 2.因为要求返回TreeNode,所以List中可以直接储存TreeNode,不用保存节点值,省去了最后返回时构建节点 3.这里其实没有必要使用List储存节点,直接设定一个计数器和全局变量,当计数器为k时使用全局变量保存遍历的节点即可 4.中序递归时设定了root == null返回的边界条件,就不需要重复判断左右节点是否为null了哈
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
11-07 11:55
湖南工业大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习没人带,苟住还是跑路? #
5145次浏览 134人参与
# 非技术岗简历怎么写 #
274419次浏览 3163人参与
# 元旦假期你打算怎么过 #
3751次浏览 109人参与
# 春招前还要继续实习吗? #
983次浏览 22人参与
# 大家实习都在做什么? #
4549次浏览 51人参与
# 妈妈治愈了你哪些脆皮时刻 #
38228次浏览 338人参与
# 你做过哪些dirty work #
24829次浏览 155人参与
# 面试官问过你最刁钻的问题是什么? #
2701次浏览 49人参与
# 我来点评面试官 #
37437次浏览 163人参与
# 我们是不是被“优绩主义”绑架了? #
5523次浏览 205人参与
# 实习/项目/竞赛奖项,哪个对找工作更重要? #
102415次浏览 1185人参与
# 一人说一家双休的公司 #
2682次浏览 45人参与
# 牛客2025仙途报告 #
25746次浏览 360人参与
# 职场中对你有帮助的书 #
25582次浏览 216人参与
# 毕业论文怎么查AI率 #
69918次浏览 1938人参与
# 应届生初入职场,求建议 #
286091次浏览 2851人参与
# 找工作如何保持松弛感? #
127298次浏览 1457人参与
# 查收我的offer竞争力报告 #
264107次浏览 1649人参与
# 产品人专业大盘点 #
64261次浏览 317人参与
# 机械人你觉得今年行情怎么样? #
6101次浏览 87人参与
