2021-10-05:对称二叉树。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。力扣101。
2021-10-05:对称二叉树。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。力扣101。
福大大 答案2021-10-05:
递归。head1的左节点 ==head2的右节点。head1的右节点 ==head2的左节点。
代码用golang编写。代码如下:
package main
import "fmt"
func main() {
head := &TreeNode{}
head.val = 1
head.left = &TreeNode{}
head.left.val = 2
head.right = &TreeNode{}
head.right.val = 2
head.left.left = &TreeNode{}
head.left.left.val = 3
head.right.right = &TreeNode{}
head.right.right.val = 3
ret := isSymmetric(head)
fmt.Println(ret)
}
type TreeNode struct {
val int
left *TreeNode
right *TreeNode
}
func isSymmetric(root *TreeNode) bool {
return isMirror(root, root)
}
// 一棵树是原始树 head1
// 另一棵是翻面树 head2
func isMirror(head1 *TreeNode, head2 *TreeNode) bool {
if head1 == nil && head2 == nil {
return true
}
if head1 != nil && head2 != nil {
return head1.val == head2.val && isMirror(head1.left, head2.right) && isMirror(head1.right, head2.left)
}
// 一个为空,一个不为空 false
return false
}
执行结果如下:
公众号:福大大架构师每日一题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
2020-10-05 2020-10-05:如何求模平方根?