由树的定义和递归想到的
结点定义
自己定义自己,是不是有点递归的感觉?
1 public static class TreeNode{ 2 3 int val; 4 TreeNode left; 5 TreeNode right; 6 TreeNode(int x){ 7 val=x; 8 } 9 }
关于树的算法递归算法,基本都能表示为
对该结点的操作+对左右子树的操作
1、树的最高高度=max{左右子树高度}+1
2、翻转二叉树=互换左右子树+翻转左右子树
3、判断树是否相同=当前结点是否相同+左右子树是否相同