回复: 5
跳转到指定楼层
上一主题 下一主题
收起左侧

黑车店面

🔗
匿名用户-LRAI6  2022-2-18 13:31:49 |倒序浏览

2022(1-3月) 码农类General 硕士 全职@uber - 网上海投 - 技术电面  | 😐 Neutral 😐 Average | WaitList | 在职跳槽

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

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

x
黑车店面题目: 找二叉搜索树上第K大的节点. 力扣 耳伞灵 变种.
耳伞灵是找K小节点,所以可以直接用inorder traverse方法. 而面试题目要找K大,所以要稍微改变一些inorder traverse的顺序. 先遍历节点右子树,再访问节点,最后遍历节点左子树,这样的顺序就是从大到小访问BST. 每次访问一个节点,计数器减一.到计数器为0时,即找到要找的节点. 下面是我的程序,如果有不对的地方,希望大家指教.
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
0000">res = node;
        return;
    }

    if (k > 0) {
        dfs(node->left, k, res);
    }
}

评分

参与人数 2大米 +11 收起 理由
匿名用户-AQGWD + 10
rooooooo1 + 1 给你点个赞!

查看全部评分


上一篇:康复路VO
下一篇:狗 VO
推荐
oumizx 2022-2-18 16:05:20 | 只看该作者
全局:
  1. class Solution {
  2.     public int kthLargest(TreeNode root, int k) {
  3.         int i = 0;
  4.         Stack<TreeNode> stack = new Stack<>();
  5.         TreeNode node = root;
  6.         while (!stack.isEmpty() || node != null) {
  7.             while (node != null) {
  8.                 stack.push(node);
  9.                 node = node.right;
  10.             }
  11.             node = stack.pop();
  12.             i++;
  13.             if (k == i) {
  14.                 return node.val;
  15.             }
  16.             node = node.left;
  17.         }
  18.         
  19.         return node.val;
  20.     }
  21. }
复制代码
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-LRAI6  2022-2-19 11:57:40

用stack做也很巧妙.

面试的时候,面试官最后提示的方法是修改节点指针, 可以不用递归或stack.单单靠访问左右节点指针完成遍历,然后找到K大节点. 他提示说那个方法不用另外的内存开销.
回复

使用道具 举报

🔗
liurudahai 2022-2-24 05:04:50 | 只看该作者
全局:
我猜他是想让你做莫里斯算法的中序遍历,paper上的经典不用额外空间的中序遍历,不然的话不管是递归还是用stack循环都是要额外空间
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-LRAI6  2022-2-24 07:04:11
liurudahai 发表于 2022-2-23 13:04
我猜他是想让你做莫里斯算法的中序遍历,paper上的经典不用额外空间的中序遍历,不然的话不管是递归还是用s ...

对的对的.多谢多谢.
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-MBO7M  2022-3-25 04:17:47
楼主有后续昂赛吗?
回复

使用道具 举报

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

本版积分规则

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