Skip to content

LCR 145.判断对称二叉树

go
/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func checkSymmetricTree(root *TreeNode) bool {
	if root == nil {
		return true
	}
	var trea func(left, right *TreeNode) bool
	trea = func(left, right *TreeNode) bool {

		if left == nil && right != nil {
			return false
		} else if right == nil && left != nil {
			return false
		} else if right == nil && left == nil {
			return true
		} else if left.Val != right.Val {
			return false
		}

		inside := trea(left.Right, right.Left)
		outside := trea(left.Left, right.Right)
		return inside && outside
	}
	return trea(root.Left, root.Right)
}
本站访客数 人次 本站总访问量