Example
1 1 / / 2 3 => 3 2 / 4 4Solution
Recursion:
public class Solution { public void invertBinaryTree(TreeNode root) { if (root == null) return; TreeNode temp = root.left; root.left = root.right; root.right = temp; invertBinaryTree(root.left); invertBinaryTree(root.right); return; } }
Queue/linkedlist:
用queue的方法要熟練掌握。
public class Solution { public void invertBinaryTree(TreeNode root) { if (root == null) return; Queuequeue = new LinkedList (); queue.offer(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); TreeNode temp = node.left; node.left = node.right; node.right = temp; if (node.left != null) { queue.offer(node.left); } if (node.right != null) { queue.offer(node.right); } } return; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65508.html
摘要:原題鏈接遞歸法復雜度時間空間遞歸棧空間思路這個難倒大神的題也是非常經典的一道測試對二叉樹遍歷理解的題。遞歸的終止條件是當遇到空節點或葉子節點時,不再交換,直接返回該節點。代碼給出的是后序遍歷的自下而上的交換,先序遍歷的話就是自上而下的交換。 Invert Binary Tree Invert a binary tree. 4 / 2 7 / ...
Problem Invert a binary tree. Example: Input: 4 / 2 7 / / 1 3 6 9 Output: 4 / 7 2 / / 9 6 3 1 Trivia:This problem was inspired by this original t...
摘要:題目鏈接題目分析反轉二叉樹。思路類似反轉兩個變量,先把左右子樹存進單獨的變量,再相互覆蓋左右子樹。并對子樹進行相同的操作。最終代碼若覺得本文章對你有用,歡迎用愛發電資助。 D59 226. Invert Binary Tree 題目鏈接 226. Invert Binary Tree 題目分析 反轉二叉樹。 思路 類似反轉兩個變量,先把左右子樹存進單獨的變量,再相互覆蓋左右子樹。 并...
摘要:題目鏈接思路如果需要反轉一個二叉樹,那么我們需要遍歷整個樹的所有節點。這兩種辦法分別可以用迭代或者遞歸的辦法實現。算法復雜度遞歸時間空間時間空間代碼遞歸 題目鏈接:Invert Binary Tree 思路:如果需要反轉一個二叉樹,那么我們需要遍歷整個樹的所有節點。如果想遍歷所有的節點,我們可以用Depth First Search(DFS)或者Breadth First Search...
Description A full binary tree is defined as a binary tree in which all nodes have either zero or two child nodes. Conversely, there is no node in a full binary tree, which has one child node. More in...
閱讀 1924·2021-11-19 09:40
閱讀 2132·2021-10-09 09:43
閱讀 3294·2021-09-06 15:00
閱讀 2810·2019-08-29 13:04
閱讀 2766·2019-08-26 11:53
閱讀 3512·2019-08-26 11:46
閱讀 2320·2019-08-26 11:38
閱讀 390·2019-08-26 11:27