1. 了解红黑树和平衡二叉树
2. 再次学习Redis
TreeNode类
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
public TreeNode() {
}
public TreeNode(int val) {
this.val = val;
}
public TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
1. 翻转二叉树
/*
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
*/
public TreeNode invertTree(TreeNode root) {
if (root == null) {
return null;
}
TreeNode left = invertTree(root.left); //递归调用,最先从叶子结点开始翻转
TreeNode right = invertTree(root.right);
root.left = right; //最后翻转 root的左右子树
root.right = left;
return root;
}