每日一题——二叉树

一,反转二叉树

这道题呢,是一道比较简单的题,我把它想复杂了,以为还得按层序遍历出来,其实就是利用递归,然后再写一个方法将里面的根节点两两交换就ok了。

二,对称二叉树

这道题我感觉有点疑惑,其实办法很好写,就是你定义一个方法,然后那个方法里面有多个if语句,分别是left为null时,right为null时,还有他们都为null时,还有不为null但是val不相等时,也就是这个样。再进行递归,分为外部和内部了。

三,二叉树的最大深度

这道题很简单,很符合他的标签了哈哈哈,就是定义两个int类型,然后递归,然后利用Math类进行比较。就OK了

四,二叉树的最小深度

这个与上面那个差不多,其实就是一个题型的题目,然后但是你需要对left和right进行排null处理

五,完全二叉树的节点个数

这道题目和之前有道题很像,但是也一样不难,就是先进行排null,然后就是递归。

六,平衡二叉树

这道题首先要知道,平衡二叉树的定义是什么,是左右深度相差不过1,也就是可以相等,也可以为0,所以说思路就来了,我们可以定义一个方法来获得根节点左右的深度,然后就是判断他两个相减值为是否大于1,然后就是返回了。

七,二叉树的所有路径

这道题有点复杂了就,我们要创建一个方法之前,先创建一个list集合,然后定义方法,方法里面的参数为root,string,list,如果root不为null的时候,我们要定义一个stringbuffer,把list传进去,然后就是在list里面添加root的val,然后就是left和right的排null,如果为null,就把stringbuffer利用tostring方法,传到list里面,然后不为null的话,就是进行下一步递归。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值