- 自我介绍
- 使用的DB是哪些
- UDP,TCP区别? 为什么TCP是可靠的
- 进程,线程区别
- 什么是虚拟内存
- 事务的特性有哪些 并分别解释
- MySQL隔离级别有哪些
- 序列化有什么危害
- MySQL默认的隔离级别 -> 可重复读 => 可以幻读吗
- SQL的索引采用什么数据结构?(B+树)
- 为什么 为什么不用二叉树
- 为什么不用哈希索引
- 如何解决哈希冲突 (拉链法,线性探测法…拓展巴拉巴拉)
- 树的遍历了解吗有哪些 说一下具体 (前中后遍历 层次遍历等等)
- 写一道编程题:判断二叉树是否对称 (剑指offer原题)
package com.algorithm.剑指offer.对称二叉树;
public class IsSymmetric {
class TreeNode {
int val;
TreeNode left;
TreeNode right;
public TreeNode(int val) {
this.val = val;
}
}
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
return isSymmetric(root.left, root.right);
}
private boolean isSymmetric(TreeNode left, TreeNode right) {
if (left == null && right == null) {
return true;
}
if (left == null || right == null) {
return false;
}
if (left.val != right.val) {
return false;
}
return isSymmetric(left.left, right.right)
&& isSymmetric(left.right, right.left);
}
}