【LeetCode-面試演算法經典-Java實現】【226-Invert Binary Tree(反轉二叉樹)】,leetcode--java
【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】
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。