一亩三分地论坛

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

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

Pocket Gems

[复制链接] |试试Instant~ |关注本帖
public_jian 发表于 2015-5-8 09:36:41 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 全职@PoketGem - 网上海投 - 技术电面 |Passfresh grad应届毕业生

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

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

x
May,5 面的。
面试官是美国小哥~~~先让讲一个自己喜欢的project。
然后开始说让写代码。之前在地里面看到过这道题目。含有三元运算符的字符串,构建一棵树。
小哥给我举了个例子。
a?b:c
建成的树应该是:. 1point3acres.com/bbs
   a
  / \
b    c
而后问我,如果是 a?b?c:d:e,建成的树应该是什么样的?
我说是这个样子的:
    a
   / \
  b  e
/ \
c   d-google 1point3acres
小哥说,恩。你给我写个method就把这样一个string转成一棵树?. 鍥磋鎴戜滑@1point 3 acres

写完之后,问我还有什么问题?
-------------------------- 我是分割线-------------------------------------. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
这道题用recursion写起来比较好写。关键的一步是:在检测到问号(if charAt(i) == '?')之后,新建完成这个左孩子节点,马上检测是否是冒号,然后去建右节点(在if charAt(i) == '?'里面写)()。
恩,就这样,大家加油。



. more info on 1point3acres.com




.鏈枃鍘熷垱鑷1point3acres璁哄潧


鏉ユ簮涓浜.涓夊垎鍦拌鍧.
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
.鐣欏璁哄潧-涓浜-涓夊垎鍦

补充内容 (2015-5-8 22:41):
----------这是一轮电面-----------
notturno 发表于 2015-5-8 21:01:36 | 显示全部楼层
这是一面吗?
虽然还是面经的题,但已经不是烂大街的那两道了,有种要开始换题的感觉
回复 支持 反对

使用道具 举报

ryuichist 发表于 2015-5-11 17:15:49 | 显示全部楼层
notturno 发表于 2015-5-8 21:01
这是一面吗?. Waral 鍗氬鏈夋洿澶氭枃绔,
虽然还是面经的题,但已经不是烂大街的那两道了,有种要开始换题的感觉

这个也是电面的题目,只是出现的频率不是很高
回复 支持 反对

使用道具 举报

jaly50 发表于 2015-8-24 03:23:50 | 显示全部楼层
晒一下我这题的代码, 有路过的帮我看看对不对...感谢~
  1.          static class TreeNode {. from: 1point3acres.com/bbs
  2.              int val;
  3.               TreeNode left;. more info on 1point3acres.com
  4.               TreeNode right;
  5.              TreeNode(int x) { val = x; }
  6.          }
  7.         public  static TreeNode convert(String ternary) {
  8.                 if (ternary==null || ternary.isEmpty()) return null;
  9.                 char[] chs = ternary.toCharArray();
  10.                 //每次只把root压栈
  11.                 Stack<TreeNode> stack = new Stack<TreeNode>();
  12.                 TreeNode cur=new TreeNode(chs[0]);
  13.                 TreeNode root= cur;
  14.                 for (int i=1; i<chs.length; i+=2) {
  15.                         if (chs[i]=='?') {
  16.                                 stack.push(cur);
  17.                                 TreeNode node = new TreeNode(chs[i+1]);
  18.                                 cur.left = node;
  19.                                 cur = node; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  20.                         }
  21.                         else if (chs[i]==':') {
  22.                                 cur = stack.pop();
  23.                                 TreeNode node = new TreeNode(chs[i+1]);
  24.                                 cur.right = node;
  25.                                 cur = node;. from: 1point3acres.com/bbs
  26.                                
  27.                         }
  28.                 }
  29.                 return root;
  30.         }
复制代码
回复 支持 反对

使用道具 举报

cu0817 发表于 2015-10-15 01:00:44 | 显示全部楼层
jaly50 发表于 2015-8-24 03:23
晒一下我这题的代码, 有路过的帮我看看对不对...感谢~

为啥要转 chararray?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 14:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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