翻转二叉树226

翻转二叉树

描述:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例:
在这里插入图片描述
简单理解就是 交换每个节点的左右孩子节点

何解?

1、递归 : 即可轻松击溃100%的people

	let invertTree = function(root){
		if(!root) return root
		let invert = (root) => {
			if(!root) return // 叶子节点的左右孩子为null,表示递到头了
			invert(root.left)
			invert(root.right)
			//子节点处理完 翻转当前节点的左右子(节点/树)
			let temp = root.left
			root.left = root.right
			root.right = temp
		}
		invert(root)
		return root
	}

也可以用迭代法,用一个数组模拟栈,从跟节点开始反转,记录孩子节点,在反转孩子节点所在的子树
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值