【226-Invert Binary Tree(反转二叉树)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
代码下载【https://github.com/Wang-Jun-Chao】
原题
Invert a binary tree.
4
/ 2 7
/ \ / 1 3 6 9
to
4
/ 7 2
/ \ / 9 6 3 1
题目大意
将一棵二叉树进行翻转。
解题思路
对每一个结点,将它的左右子树进行交换,再对它的左右子结点进行同样的操作。
代码实现
树结点类
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
算法实现类
public class Solution {
public TreeNode invertTree(TreeNode root) {
if (root != null) {
invertTreeNode(root);
}
return root;
}
public void invertTreeNode(TreeNode root) {
if (root != null) {
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
invertTree(root.left);
invertTree(root.right);
}
}
}
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。
特别说明
欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/48100759】
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 17:20:08