您的位置:首页 > 编程语言 > Java开发

【leetcode】【226】Invert Binary Tree

2016-03-17 11:32 405 查看

一、问题描述

Invert a binary tree.
4
/   \
2     7
/ \   / \
1   3 6   9

to
4
/   \
7     2
/ \   / \
9   6 3   1

二、问题分析

首先对于树的遍历而言往往采用递归的方式。大部分类型的题目都涉及遍历,只不过在遍历的时候进行相应的处理。这道题也是,从根节点出发,如果有左右孩子就交换一下,然后递归遍历做孩子、右孩子。

三、Java AC代码

public TreeNode invertTree(TreeNode root) {
invert(root);
return root;
}
public void invert(TreeNode node){
if (node!=null && (node.left!=null || node.right != null)) {
TreeNode tmp = node.left;
node.left = node.right;
node.right = tmp;
}else {
return ;
}
invert(node.left);
invert(node.right);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java leetcode tree