由树的定义和递归想到的

结点定义

自己定义自己,是不是有点递归的感觉?

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、判断树是否相同=当前结点是否相同+左右子树是否相同

posted @ 2018-06-15 15:44  朋友圈  阅读(494)  评论(0编辑  收藏  举报