一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 1961|回复: 14
收起左侧

谷歌fulltime phone screen面筋,已跪

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

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

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

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

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

给一个tree,每一个treeNode多2个指针pre next但是是空的。要求按inorder的顺序把指针连起来。. 1point 3acres 璁哄潧
Lz用recursion。写的不好。. Waral 鍗氬鏈夋洿澶氭枃绔,
followup是怎么实现insert方法。还问了时间复杂度和空间复杂度。
第一次面试太紧张,已跪。
祝大家早日找到工作。

评分

2

查看全部评分

本帖被以下淘专辑推荐:

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

  1. void convert(TreeNode* n, TreeNode* &last){
  2.    
  3.    
  4.     if(n) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  5.         
  6.         convert(n->left, last);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  7.         . more info on 1point3acres.com
  8.         if(last){ 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  9.             last->next = n;
  10.             n->prev = last;
  11.         }
  12.         
  13.         last = n;. Waral 鍗氬鏈夋洿澶氭枃绔,
  14.         
  15.         convert(n->right, last);. 1point 3acres 璁哄潧
  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好写。。。。打电话的时候太紧张。。什么都想不起来。。。。
回复 支持 反对

使用道具 举报

yueliu2366 发表于 2016-6-9 04:40:01 | 显示全部楼层
blackrose 发表于 2016-6-9 04:36. 1point 3acres 璁哄潧
这个用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
. 1point3acres.com/bbs
就是问你怎么维护链表的顺序。。。
回复 支持 反对

使用道具 举报

printf_ll 发表于 2016-10-9 06:30:23 | 显示全部楼层
来贴个代码,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);
  5.                 TreeNode r2=new TreeNode(30);
  6.                 root.left=r1;root.right=r2;. 鍥磋鎴戜滑@1point 3 acres
  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);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  11.                 TreeNode r6=new TreeNode(17);
  12.                 r4.left=r5;r4.right=r6;
  13.                 TreeNode r7=new TreeNode(16);
  14.                 r6.left=r7;
  15.                 InorderNext i=new InorderNext();
  16.                 i.next(root);
  17.                 TreeNode tmp=r3;
  18.                 while(tmp!=null){
  19.                         System.out.print(tmp.val+",");
  20.                         tmp=tmp.next;
  21.                 }
  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;-google 1point3acres
  30.                 }. Waral 鍗氬鏈夋洿澶氭枃绔,
  31.                
  32.                 while(!stack.isEmpty()){
  33.                         TreeNode p=stack.pop();. 1point 3acres 璁哄潧
  34.                         if(p.right!=null){
  35.                                 TreeNode right=p.right;
  36.                                 while(right!=null){
  37.                                         stack.push(right);. From 1point 3acres bbs
  38.                                         right=right.left;
  39.                                 }. 1point3acres.com/bbs
  40.                         }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  41.                         if(stack.isEmpty()){
  42.                                 p.next=null;
  43.                                 return;
  44.                         }
  45.                         p.next=stack.peek();
  46.                 }
  47.         }

  48. }

  49. class TreeNode{. 鍥磋鎴戜滑@1point 3 acres
  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;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  57.                 this.right=null;
  58.                 this.next=null;
  59.         }
  60. }
复制代码
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 10:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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