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

微软电面

全局:

2020(1-3月) 码农类General 硕士 全职@microsoft - 内推 - 技术电面  | | Other | 在职跳槽

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

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

x
是一个很友好的印度哥们电面的我。先随便扯了点经历,题目是从一颗二叉排序树中删除小于low_value或者大于high_value的节点。

因为面试前几天我看过从二叉排序树中删除节点的题,所以就机械的套用了那个题的思路,采用top down的方式,迭代的删除符合条件的node,然后用比这个节点略大的节点来代替本节点。估计是印度哥们刚开始也觉得这样
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
]



补充内容 (2020-2-20 13:38):
第23行应该是  parent->left = cur->right;

评分

参与人数 1大米 +17 收起 理由
匿名用户-VF8YT + 17

查看全部评分


上一篇:脸熟onsite
下一篇:小粉车店面——等啊等
全局:
本帖最后由 challenge2016 于 2020-2-28 00:47 编辑



写了个c++版本

  1. node* TruncateBST(node *root, int min, int max) {
  2.     if(!root)
  3.     return NULL;
  4.    
  5.     if(root->val < min)
  6.         return TruncateBST(root->right, min, max);
  7.     if(root->val > max)
  8.         return TruncateBST(root->left, min, max);
  9.         
  10.     root->left = TruncateBST(root->left, min, max);
  11.     root->right = TruncateBST(root->right, min, max);
  12.     return root;
  13. }
复制代码


回复

使用道具 举报

🔗
jackjob 2020-2-16 12:50:46 | 只看该作者
全局:
这个Java版本的怎么样?
  1. public Node removeNodesLargerThan(Node root, int target) {
  2.         if (root == null) {
  3.             return null;
  4.         }
  5.         if (target < root.value) {
  6.             Node realRoot = removeNodesLargerThan(root.left, target);
  7.             root.left = null;
  8.             return realRoot;
  9.         } else if (target > root.value) {
  10.             Node realRight = removeNodesLargerThan(root.right, target);
  11.             root.right = realRight;
  12.             return root;
  13.         } else {
  14.             root.right = null;
  15.             return root;
  16.         }
  17.     }
复制代码
回复

使用道具 举报

🔗
 楼主| spirit_room 2020-2-17 03:59:23 | 只看该作者
全局:
jackjob 发表于 2020-2-16 12:50
这个Java版本的怎么样?
[mw_shl_code=java,true]public Node removeNodesLargerThan(Node root, int targ ...

显然不对啊
回复

使用道具 举报

🔗
wojiushieyu 2020-2-17 05:19:16 | 只看该作者
全局:
同学你这个所谓的bottom up/top down的说法看的我是云里雾里
回复

使用道具 举报

🔗
jackjob 2020-2-19 05:20:18 | 只看该作者
全局:

怎么不对了?
回复

使用道具 举报

🔗
 楼主| spirit_room 2020-2-19 05:29:27 | 只看该作者
全局:

要求是删除某个范围的,不是等于某个数值的,你再仔细看看
回复

使用道具 举报

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

本版积分规则

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