二叉树

100.相同的树

判断两棵树是否相同,判断三种情况:1.两个根都为空;2只有一个为空;3.都不为空。若都不为空,判断两种情况,值相同或值不同

101.对称二叉树

对称,可转化为跟节点相同,两个子树的左节点和右节点相同
递归,与100判断情况类似

104.二叉树的最大深度

自底向上递归

107.二叉树的层次遍历 II

层次遍历,使用队列,每次记录入队的大小,即每一层的节点数。自底向下考虑添加元素的顺序

108.将有序数组转换为二叉搜索树

要做到平衡,选取数组中点作为根节点,递归

110.平衡二叉树

自底向下遍历,类似104

111.二叉树的最小深度

与最大深度类似,注意,只有一个根节点不能构成路径,需要加上限制条件,null不参与比较

112.路径总和

递归,涉及到路径,可以考虑判断是否是叶子节点作为终止条件

226.翻转二叉树

终止条件,为null返回root。保留左子树和右子树,交换

235.二叉搜索树的最近公共祖先

二叉搜索树的特点,若两个节点都小于root,遍历左树,大于遍历右树,最后返回结果

257.二叉树的所有路径

涉及到路径,终止条件判断是否是叶子节点

404.左叶子之和

遍历,遍历到每个节点判断是否满足是左叶子

437.路径总和III

类似112,不一定从根节点到叶节点,双层递归

501.二叉搜索树中的众数

二叉搜索树中序遍历的特点

530.二叉搜索树的最小绝对差

二叉树中序遍历,类似501

538.把二叉搜索树转换为累加树

右子树的值必比跟节点大,递归先加右子树,反序中序遍历

543.二叉树的直径

类似104,左子树最大深度+右子树最大深度

你可能感兴趣的:(二叉树)