一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 1179|回复: 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
建成的树应该是:
   a 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  / \
b    c
而后问我,如果是 a?b?c:d:e,建成的树应该是什么样的?
我说是这个样子的:. visit 1point3acres.com for more.
    a
   / \
  b  e
/ \
c   d
小哥说,恩。你给我写个method就把这样一个string转成一棵树?

写完之后,问我还有什么问题?
-------------------------- 我是分割线-------------------------------------
这道题用recursion写起来比较好写。关键的一步是:在检测到问号(if charAt(i) == '?')之后,新建完成这个左孩子节点,马上检测是否是冒号,然后去建右节点(在if charAt(i) == '?'里面写)()。. 鍥磋鎴戜滑@1point 3 acres
恩,就这样,大家加油。










. 1point3acres.com/bbs




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

使用道具 举报

ryuichist 发表于 2015-5-11 17:15:49 | 显示全部楼层
关注一亩三分地微博:
Warald
notturno 发表于 2015-5-8 21:01. From 1point 3acres bbs
这是一面吗?
虽然还是面经的题,但已经不是烂大街的那两道了,有种要开始换题的感觉

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

使用道具 举报

jaly50 发表于 2015-8-24 03:23:50 | 显示全部楼层
晒一下我这题的代码, 有路过的帮我看看对不对...感谢~
  1.          static class TreeNode {
  2.              int val;
  3.               TreeNode left;
  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;. visit 1point3acres.com for more.
  9.                 char[] chs = ternary.toCharArray();
  10.                 //每次只把root压栈
  11.                 Stack<TreeNode> stack = new Stack<TreeNode>(); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  12.                 TreeNode cur=new TreeNode(chs[0]);. Waral 鍗氬鏈夋洿澶氭枃绔,
  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.                         }. from: 1point3acres.com/bbs
  21.                         else if (chs[i]==':') {
  22.                                 cur = stack.pop();. 1point3acres.com/bbs
  23.                                 TreeNode node = new TreeNode(chs[i+1]);
  24.                                 cur.right = node; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  25.                                 cur = node;
  26.                                
  27.                         }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  28.                 }
  29.                 return root;
  30.         }
复制代码
回复 支持 反对

使用道具 举报

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

为啥要转 chararray?
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-3-27 21:13

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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