一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

一亩三分地官方iOS手机应用下载
查看: 3373|回复: 18
收起左侧

谷歌fulltime phone screen面筋,已跪

[复制链接] |试试Instant~ |关注本帖
jyttwc901231 发表于 2016-6-9 04:25:46 | 显示全部楼层 |阅读模式

2013(4-6月) 码农类 硕士 全职@Google - 猎头 - 技术电面 |Fail在职跳槽

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
recruitor email找到我。问我有没有兴趣面谷歌。由于Lz自己确实在准备跳槽。只是没准备好。于是想面一个试试。
电话接通了没有废话,直接做题。. from: 1point3acres.com/bbs

给一个tree,每一个treeNode多2个指针pre next但是是空的。要求按inorder的顺序把指针连起来。
Lz用recursion。写的不好。. from: 1point3acres.com/bbs
followup是怎么实现insert方法。还问了时间复杂度和空间复杂度。
第一次面试太紧张,已跪。
祝大家早日找到工作。

评分

2

查看全部评分

本帖被以下淘专辑推荐:

printf_ll 发表于 2016-10-9 06:30:23 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
来贴个代码,java的,stack实现
  1. public class InorderNext {

  2.         public static void main(String[] args) {
  3.                 TreeNode root=new TreeNode(20);
  4.                 TreeNode r1=new TreeNode(10);.1point3acres缃
  5.                 TreeNode r2=new TreeNode(30);
  6.                 root.left=r1;root.right=r2;
  7.                 TreeNode r3=new TreeNode(5);
  8.                 TreeNode r4=new TreeNode(15);
  9.                  r1.left=r3;r1.right=r4; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  10.                 TreeNode r5=new TreeNode(12);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  11.                 TreeNode r6=new TreeNode(17);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  12.                 r4.left=r5;r4.right=r6;. from: 1point3acres.com/bbs
  13.                 TreeNode r7=new TreeNode(16);
  14.                 r6.left=r7;
  15.                 InorderNext i=new InorderNext();
    . From 1point 3acres bbs
  16.                 i.next(root);
  17.                 TreeNode tmp=r3;
  18.                 while(tmp!=null){
  19.                         System.out.print(tmp.val+",");. 鍥磋鎴戜滑@1point 3 acres
  20.                         tmp=tmp.next;
  21.                 }. From 1point 3acres bbs
  22.                
  23.         }
  24.         . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  25.         private void next(TreeNode r){
  26.                 Stack<TreeNode> stack=new Stack<>();
  27.                 while(r!=null){
  28.                         stack.push(r);
  29.                         r=r.left;. 1point 3acres 璁哄潧
  30.                 }
  31.                
  32.                 while(!stack.isEmpty()){
  33.                         TreeNode p=stack.pop();
  34.                         if(p.right!=null){
  35.                                 TreeNode right=p.right;
  36.                                 while(right!=null){. Waral 鍗氬鏈夋洿澶氭枃绔,
  37.                                         stack.push(right);
  38.                                         right=right.left;
  39.                                 }
  40.                         }
  41.                         if(stack.isEmpty()){
  42.                                 p.next=null;
  43.                                 return;
  44.                         }
  45.                         p.next=stack.peek();
  46.                 }
  47.         }

  48. }

  49. class TreeNode{
  50.         int val;
  51.         TreeNode left;
  52.         TreeNode right;
  53.         TreeNode next;
  54.         public TreeNode(int v){
  55.                 this.val=v;
  56.                 this.left=null;
  57.                 this.right=null;
  58.                 this.next=null;
  59.         }
  60. }
复制代码
回复 支持 1 反对 0

使用道具 举报

handsomecool 发表于 2016-6-9 05:21:21 | 显示全部楼层
关注一亩三分地微博:
Warald
recursion写起来不是更简洁吗?

  1. void convert(TreeNode* n, TreeNode* &last){
  2.    
  3.    
  4.     if(n) {
  5.         
  6.         convert(n->left, last);
  7.         
  8.         if(last){
  9.             last->next = n;
  10.             n->prev = last;
  11.         }
  12.         
  13.         last = n;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  14.         . more info on 1point3acres.com
  15.         convert(n->right, last);
  16.     }
  17. }
复制代码
回复 支持 1 反对 0

使用道具 举报

blackrose 发表于 2016-6-9 04:36:24 | 显示全部楼层
这个用stack inorder 比较好写
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-6-9 04:38:01 | 显示全部楼层
blackrose 发表于 2016-6-9 04:36
这个用stack inorder 比较好写

嗯,我挂了电话就想起来stack好写。。。。打电话的时候太紧张。。什么都想不起来。。。。
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

yueliu2366 发表于 2016-6-9 04:40:01 | 显示全部楼层
blackrose 发表于 2016-6-9 04:36
这个用stack inorder 比较好写

感觉你是大神啊。。。所有题目都能看见你快速解答。。
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-6-9 04:41:30 | 显示全部楼层
yueliu2366 发表于 2016-6-9 04:40
感觉你是大神啊。。。所有题目都能看见你快速解答。。

快下班了。才有空刷一下论坛。。。
回复 支持 反对

使用道具 举报

blackrose 发表于 2016-6-9 05:07:50 | 显示全部楼层
楼主的follow up 是insert一个BST node 吗
回复 支持 反对

使用道具 举报

wzy0791 发表于 2016-6-9 05:21:40 | 显示全部楼层
Recursion不太好搞,只能用Stack了
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-6-9 08:15:01 | 显示全部楼层
handsomecool 发表于 2016-6-9 05:21
recursion写起来不是更简洁吗?

嗯,我觉得这样也行。。。。
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-6-9 08:15:18 | 显示全部楼层
wzy0791 发表于 2016-6-9 05:21
Recursion不太好搞,只能用Stack了

recursion其实也行,见楼上
回复 支持 反对

使用道具 举报

jjustc 发表于 2016-6-16 04:52:27 | 显示全部楼层
请问 insert方法是指什么意思?谢谢1
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-6-16 05:23:05 | 显示全部楼层
jjustc 发表于 2016-6-16 04:52
请问 insert方法是指什么意思?谢谢1
. Waral 鍗氬鏈夋洿澶氭枃绔,
就是问你怎么维护链表的顺序。。。
回复 支持 反对

使用道具 举报

chaosMonkey 发表于 2016-11-14 18:05:29 | 显示全部楼层
lz咋不准备一下再面呢
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-11-15 23:02:07 | 显示全部楼层
chaosMonkey 发表于 2016-11-14 18:05
lz咋不准备一下再面呢

在准备,谷歌冷冻期一年
回复 支持 反对

使用道具 举报

chaosMonkey 发表于 2016-12-11 11:10:35 | 显示全部楼层
jyttwc901231 发表于 2016-6-16 05:23
就是问你怎么维护链表的顺序。。。

请问是利用insert的方法给链表排序吗
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-12-11 11:13:28 | 显示全部楼层
chaosMonkey 发表于 2016-12-11 11:10. from: 1point3acres.com/bbs
请问是利用insert的方法给链表排序吗

是让你实现树的insert方法,然后要让List继续是inorder
回复 支持 反对

使用道具 举报

chaosMonkey 发表于 2016-12-11 11:31:28 | 显示全部楼层
jyttwc901231 发表于 2016-12-11 11:13
是让你实现树的insert方法,然后要让List继续是inorder
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
谢谢lz回复  那这就是往BST里面插入一个node的意思吧,同时要维护list顺序
回复 支持 反对

使用道具 举报

 楼主| jyttwc901231 发表于 2016-12-14 00:01:05 | 显示全部楼层
chaosMonkey 发表于 2016-12-11 11:31
谢谢lz回复  那这就是往BST里面插入一个node的意思吧,同时要维护list顺序

是,就是这个意思。。。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-4-25 09:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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