题目
[简单、递归]
题解
交换二叉树的左右子树
function Mirror( pRoot ) {
//递归出口
if(pRoot === null){
return pRoot;
} else {
[pRoot.left,pRoot.right] = [pRoot.right,pRoot.left]
}
Mirror(pRoot.left);
Mirror(pRoot.right);
return pRoot;
}
补充知识
二叉树的答题模板
function traverse(TreeNode root){
// 前序遍历
traverse(root.left)
// 中序遍历
traverse(root.right)
// 后序遍历
}
递归的中心思想:
- 考虑出口 ( if 部分)
- 处理当前节点
- 递归处理下个节点
二叉树问题的递归出口,一般包括:
// 1.节点为空(到达叶子节点)
pRoot === null
文章链接: 二叉树的镜像[剑指offer]
★转载请注明来自 QW’s Blog!★