老卫带你学---leetcode刷题(101. 对称二叉树)

101. 对称二叉树

问题:

给你一个二叉树的根节点 root , 检查它是否轴对称

bash 复制代码
输入:root = [1,2,2,3,4,4,3]
输出:true
bash 复制代码
输入:root = [1,2,2,null,3,null,3]
输出:false
bash 复制代码
提示:

树中节点数目在范围 [1, 1000] 内
-100 <= Node.val <= 100

解决:

要寻找对称,那只需要递归,然后让左右相等即可

go 复制代码
func isSymmetric(root *TreeNode) bool {
	if root == nil {
		return true
	}
	return dfs(root.Left, root.Right)
}

func dfs(l, r *TreeNode) bool {
	if l == nil && r == nil { //二者都是nil,对称返回true
		return true
	}
	if l == nil || r == nil { //二者有一个为nil,另一个非nil,返回false
		return false
	}
	if l.Val != r.Val {//二者值不同,返回false
		return false
	}
	return dfs(l.Left, r.Right) && dfs(l.Right, r.Left)
}
相关推荐
少许极端3 分钟前
算法奇妙屋(十二)-优先级队列(堆)
数据结构·算法·leetcode·优先级队列··图解算法
Kuo-Teng2 小时前
LeetCode 118: Pascal‘s Triangle
java·算法·leetcode·职场和发展·动态规划
野蛮人6号3 小时前
力扣热题100道之207课程表
算法·leetcode·职场和发展
学学学无无止境3 小时前
力扣-买卖股票的最佳时机
leetcode
Kuo-Teng5 小时前
LeetCode 139: Word Break
java·算法·leetcode·职场和发展·word·动态规划
sin_hielo6 小时前
leetcode 2654
算法·leetcode
学学学无无止境6 小时前
力扣-路径总和
leetcode
flashlight_hi6 小时前
LeetCode 分类刷题:1669. 合并两个链表
javascript·leetcode·链表
小欣加油8 小时前
leetcode 1513 仅含1的子串数
c++·算法·leetcode·职场和发展
闻缺陷则喜何志丹10 小时前
【分块 差分数组 逆元】3655区间乘法查询后的异或 II|2454
c++·算法·leetcode·分块·差分数组·逆元