关注
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
相关推荐
点赞 评论 收藏
分享
06-12 18:30
辽宁大学 golang 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 职场捅娄子大赛 #
369382次浏览 3768人参与
# 什么专业适合考公 #
32156次浏览 207人参与
# 写给毕业5年后的自己 #
13388次浏览 241人参与
# 秋招被确诊为…… #
157939次浏览 715人参与
# 安克创新求职进展汇总 #
35676次浏览 425人参与
# 找实习你看重大厂光环还是业务方向 #
10965次浏览 86人参与
# 软开人,秋招你打算投哪些公司呢 #
97562次浏览 925人参与
# 你的房租占工资的比例是多少? #
29620次浏览 333人参与
# 考研对你找工作产生了哪些影响? #
16918次浏览 148人参与
# 蚂蚁求职进展汇总 #
104968次浏览 1112人参与
# 机械人怎么评价今年的比亚迪 #
54699次浏览 183人参与
# 计算机专业还有必要去大厂卷吗 #
23245次浏览 120人参与
# 你最满意的offer薪资是哪家公司? #
27408次浏览 149人参与
# 你觉得技术面多长时间合理? #
95018次浏览 690人参与
# 每人推荐一个小而美的高薪公司 #
74608次浏览 1364人参与
# kpi面有什么特征 #
41406次浏览 329人参与
# 工作压力大怎么缓解 #
82635次浏览 948人参与
# 秋招提前批启动你开冲了吗 #
119667次浏览 1908人参与
# 打杂的实习你会去吗? #
111987次浏览 973人参与
# 牛友打假中心 #
90418次浏览 2652人参与