自我介绍
项目
方法参数传个数组,方法体中修改数组元素会影响原来的数组吗?(值传递)
你了解的集合容器有哪些?
描述一下集合的继承实现关系
数组和链表的区别,分别适用于什么场景
list扩容机制
hashmap底层,1.7 1.8区别
hashcode和equals方法的区别
hashcode具体怎么实现
tcp udp区别
http状态码
osi七层模型,每层的功能
三次握手的目的
算法题:二叉树的最近公共祖先
class Solution { TreeNode ans = null;//全局变量记录结果 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { dfs(root, p, q); return ans; } public boolean dfs(TreeNode root, TreeNode p, TreeNode q){//深度优先 自底向上 if(root == null) return false; boolean leftNode = dfs(root.left, p, q);//左子树是p或q的祖先吗 boolean rightNode = dfs(root.right, p, q);//右子树是p或q的祖先吗 //如果满足上述的复杂条件 找到了 赋给ans if((leftNode && rightNode) || (root.val == p.val || root.val == q.val) && (leftNode || rightNode)){ ans = root; } //当前节点的左/右子数是p/q的足下 或 当前节点是p/q?是的话返回true return leftNode || rightNode || root.val == p.val || root.val == q.val; } }这题平时做过好多次,面试的时候还是做不完整。
全部评论
(10) 回帖