这个coach包包折扣够低了吗? (转载)# gardening - 拈花惹草
c*6
1 楼
面完就发上来了
第一次面大公司啊 好鸡冻 T____T
1. project
2. 上题:
i> 如何用一个方法返回多个值
ii> 如何check一个二叉树的节点的children互为镜像
简单吧
求各种推荐啊 Google, Facebook, Microsoft, Yahoo, Linkedin, Twitter
我答的是
1. i> 新建一个class,封装多个变量;
ii> 利用java参数传递是传递引用,可以直接修改变量值(这点和c++类似),而且同时还可以返回一个值;
iii> 利用java类库中的数据结构,比如说ArrayList。
2. i> recursive算法比较简单
boolean check(TreeNode root) {
//case 1: root == null
if(root == null) return true;
//case 2: left == right == null;
if(root.left == null && root.right == null) return true;
//case 3: left,right其中一个!=null
if(root.left != null || root.right != null) return false;
//case 4: left,right都!=null
return check2(root.left, root.right);
}
boolean check2(TreeNode left, TreeNode right) {
if(left.data != right.data) return false;
else return (check(left.left, right.right)) &&
(check(left.right, right.left))
}
ii> iterative方法
case 1, 2, 3一样,
处理case 4的时候,
从root开始,用一个queue来存left的两个儿子,用一个stack来存right的两个儿子。
while(queue.size()>0 && stack.size()>0)
{
一个弹出队列,一个出栈,check相等不。
如果不等,则return false;
并把它们各自的儿子加到对应的queue或者stack中。
}
return true;
第一次面大公司啊 好鸡冻 T____T
1. project
2. 上题:
i> 如何用一个方法返回多个值
ii> 如何check一个二叉树的节点的children互为镜像
简单吧
求各种推荐啊 Google, Facebook, Microsoft, Yahoo, Linkedin, Twitter
我答的是
1. i> 新建一个class,封装多个变量;
ii> 利用java参数传递是传递引用,可以直接修改变量值(这点和c++类似),而且同时还可以返回一个值;
iii> 利用java类库中的数据结构,比如说ArrayList。
2. i> recursive算法比较简单
boolean check(TreeNode root) {
//case 1: root == null
if(root == null) return true;
//case 2: left == right == null;
if(root.left == null && root.right == null) return true;
//case 3: left,right其中一个!=null
if(root.left != null || root.right != null) return false;
//case 4: left,right都!=null
return check2(root.left, root.right);
}
boolean check2(TreeNode left, TreeNode right) {
if(left.data != right.data) return false;
else return (check(left.left, right.right)) &&
(check(left.right, right.left))
}
ii> iterative方法
case 1, 2, 3一样,
处理case 4的时候,
从root开始,用一个queue来存left的两个儿子,用一个stack来存right的两个儿子。
while(queue.size()>0 && stack.size()>0)
{
一个弹出队列,一个出栈,check相等不。
如果不等,则return false;
并把它们各自的儿子加到对应的queue或者stack中。
}
return true;