PocketGems 电面一面

原帖地址:一亩三分地

Pocket Gems 面经下午刚面的 一个叫michael的

两道题一个是strStr老题

另一个是ternery expression
我参考了http://stackoverflow.com/questio … nary-tree-structure
里面的做法但是follow up 说 不让用while loop,没刷题 最近状态不太好,而且 英语说tree的时候 总是表达不出来自己的意思

最后就是加一个boolean来判断然后只push 左node 我是这么写的
public static TreeNode convert(char[] expr) {
if (expr.length == 0) {
return null;
}
TreeNode root = new TreeNode(expr[0]);
Stack stack = new Stack<>();
stack.push(root);
boolean isQ = true;
for (int i = 1; i < expr.length; i += 2) { TreeNode node = new TreeNode(expr[i + 1]); if (expr == ‘?’) { stack.peek().left = node; isQ = true; stack.push(node); } if (expr == ‘:’) { if(isQ) { stack.pop(); isQ = false; } stack.pop().right = node; } // stack.push(node); } return root; } 最后go through了code 没问题 结果跑的时候出问题了耗时太久 发现最开始没push root node