交換左右孩子-leetcode-226. 翻轉二叉樹
226. 翻轉二叉樹
翻轉一棵二叉樹。
示例:
輸入:
4 / \ 2 7 / \ / \ 1 3 6 9 輸出: 4 / \ 7 2 / \ / \ 9 6 3 1
利用層次遍歷交換左右結點
public TreeNode invertTree(TreeNode root) {
if(root == null)
return root;
Queue<TreeNode>queue = new LinkedList<TreeNode>();
queue.offer(root);
while(!queue.isEmpty()){
TreeNode node = queue.poll();
TreeNode rnode = node.right;
node.right = node.left;
node.left = rnode;
if(node.left != null)
queue.offer(node.left);
if(node.right !=null)
queue.offer(node.right);
}
return root;
}
遞迴
public TreeNode invertTree(TreeNode root) {
if(root == null)
return root;
TreeNode lroot = invertTree(root.left);
TreeNode rroot = invertTree(root.right);
root.left = rroot;
root.right = lroot;
return root;
}
相關文章
- 交換二叉樹中每個結點的左孩子和右孩子二叉樹
- JavaScript 二叉搜尋樹以及實現翻轉二叉樹JavaScript二叉樹
- 二叉樹翻轉(分治思想的典型)二叉樹
- 【C++】翻轉二叉樹(遞迴、非遞迴)C++二叉樹遞迴
- 二叉樹:構造二叉樹(通過前序和中序遍歷)、映象翻轉、層次遍歷二叉樹
- 玩轉二叉樹二叉樹
- LeetCode每日一題: 翻轉二叉樹(No.226)LeetCode每日一題二叉樹
- CSS3前後和左右翻轉效果CSSS3
- 玩轉二叉樹(樹的遍歷)二叉樹
- 程式碼隨想錄day14 || 226 翻轉二叉樹,101 對稱二叉樹, 104 二叉樹的最大深度, 111 二叉樹的最小深度二叉樹
- 平衡二叉樹(AVL樹)和 二叉排序樹轉化為平衡二叉樹 及C語言實現二叉樹排序C語言
- Leetcode226.翻轉二叉樹 Invert Binary Tree(Java)LeetCode二叉樹Java
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 二叉樹和森林轉換二叉樹
- LeetCode 156 Binary Tree Upside Down 上下翻轉二叉樹LeetCodeIDE二叉樹
- 紅黑樹左右旋
- 二叉樹 & 二叉查詢樹二叉樹
- iOS實現反轉二叉樹iOS二叉樹
- [資料結構] 樹、二叉樹、森林的轉換資料結構二叉樹
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉查詢樹(二叉排序樹)排序
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- 哈夫曼二叉樹原始碼 (轉)二叉樹原始碼
- 手擼二叉樹——二叉查詢樹二叉樹
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 二叉樹二叉樹
- 二叉樹的應用(1)--二叉樹排序樹基本操作二叉樹排序
- LeetCode HOT 100:驗證二叉搜尋樹(從左右子樹獲取資訊進行推導)LeetCode
- 判斷二叉樹是否為滿二叉樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- LeetCode題解(Offer28):判斷二叉樹是否左右對稱(Python)LeetCode二叉樹Python
- 程式碼隨想錄演算法訓練營第十五天| 226. 翻轉二叉樹 101. 對稱二叉樹演算法二叉樹
- 【筆記】樹、森林與二叉樹的轉換與應用筆記二叉樹
- 程式碼隨想錄演算法訓練營第十四天| 226.翻轉二叉樹 、101. 對稱二叉樹、104.二叉樹的最大深度 (優先掌握遞迴)、111.二叉樹的最小深度演算法二叉樹遞迴
- 自己動手作圖深入理解二叉樹、滿二叉樹及完全二叉樹二叉樹
- 二叉樹、B樹以及B+樹二叉樹
- 平衡二叉樹,B樹,B+樹二叉樹