示例1
输入:{8,6,6,5,7,7,5}
返回值:true
示例2
输入:{8,6,9,5,7,7,5}
返回值:false
要求:
时间:1 s
空间:64 M
基本思想
首先要明确,题目所定义的...“对称” 是对每层而言,同时考虑空节点。...一个朴素的做法是:使用「层序遍历」的方式进行「逐层检查」,对于空节点使用 emptyNode 进行代指,同时确保不递归 emptyNode 对应的子节点。...复杂度为
空间复杂度:
总结
上述两种解法不仅仅是实现上的不同,更多的是检查 “出发点” 的不同:
解法一:利用「层序遍历」的方式,以 “层” 为单位进行 “对称” 检查;
解法二:利用「递归树展开...当我们从整体层面出发考虑时,配合递归,往往能写出比常规做法要简洁得多的代码。
建议大家加深对「局部」和「整体」两种不同出发点的理解。