101. Symmetric Tree.go

判断树是否对称
一般涉及到树的问题,都是采用递归的处理方式

type TreeNode struct {
    Val   int
    Left  *TreeNode
    Right *TreeNode
}

func isSymmetric(root *TreeNode) bool {
    return isMirror(root, root)
}

func isMirror(t1 *TreeNode, t2 *TreeNode) bool {
    if t1 == nil && t2 == nil {
        return true
    }
    if t1 == nil || t2 == nil {
        return false
    }

    return t1.Val == t2.Val && isMirror(t1.Right, t2.Left) && isMirror(t2.Left, t1.Right)
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,049评论 0 13
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 5,893评论 0 13
  • 0901 拥有迷人的双眼 0902 今天你微笑了吗 0903 勿焦虑 身心轻 0904 我在思考 0905 言语的...
    李旭玲的后花园阅读 114评论 0 1
  • 手机的电量仍然在不断消耗中,对于给它充电这件事情我却无能为力。 明天满课,该睡了,我知道。 但是此刻我对我却对自己...
    孙寻寻阅读 225评论 0 1
  • 有些知识,最终很简单,却需要长期持续地做,于是,学习者需要陪练(不一定是教练)。而李斌正是你最好的健脑陪练。 罗胖...
    学霸教练李斌阅读 84评论 0 0