1 Star 0 Fork 0

catyMap/AlgorithmNote

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
isSymmetric.go 692 Bytes
一键复制 编辑 原始数据 按行查看 历史
catyMap 提交于 2021-07-12 00:00 +08:00 . 更新题库
package main
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func isSymmetric(root *TreeNode) bool {
if root == nil {
return true
}
var dfs func(lfNode, rfNode *TreeNode)
flag := true
dfs = func(lfNode, rfNode *TreeNode) {
if lfNode != nil && rfNode != nil && lfNode.Val != rfNode.Val {
flag = false
}
if !flag {
return
}
if lfNode == nil || rfNode == nil {
if lfNode != rfNode {
flag = false
}
return
}
// 就是左结点按左根右遍历的结果和右结点按右根左遍历的结果相同...
dfs(lfNode.Left, rfNode.Right)
dfs(lfNode.Right, rfNode.Left)
}
dfs(root.Left, root.Right)
return flag
}
func main() {
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/dogemap/algorithm-note.git
git@gitee.com:dogemap/algorithm-note.git
dogemap
algorithm-note
AlgorithmNote
dc486f96f6c1

搜索帮助