一:题目
本博客采用此模型:
二:思路
单值二叉树即所有值相等的二叉树
1:递归的大事化小思路即:
- 将当前节点与它的左右子节点进行比较,如果不相等,则直接返回
false
。 - 如果相等,则递归地对左右子树进行相同的检查。
2:代码:
解释:
1:空节点即没值,所以不是值不同,用于空树或递归到叶子节点的时候
2:通过第二第三两个if,代表要么孩子不存在,要么孩子存在且和根值相同
3:经过这3个if,能确保root这个节点和他的孩子相等,才能再往下递进。
三:递归展开图:(红色是递,蓝色是归 )
左:
右:
不太清晰,再对半发:
左上:
左下:
右上:
右下:
最后的return && 两边都要为真,才为真,左边先为假,根据&&的性质,右边都不用判断就return false了