二叉搜索树与双向链表
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                二叉搜索树与双向链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                題目描述
輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。 核心:利用中序遍歷的結果有序的性質,遍歷出有序的序列,然后對每個序列將left設置為前一個結點,將right設置為后一個結點 (重點掌握二叉樹的遍歷遞歸過程和步驟邏輯) 1 /** 2 public class TreeNode { 3 int val = 0; 4 TreeNode left = null; 5 TreeNode right = null; 6 7 public TreeNode(int val) { 8 this.val = val; 9 10 } 11 12 } 13 */ 14 15 16 public class Solution { 17 18 TreeNode head = null; 19 TreeNode res = null; 20 21 public TreeNode Convert(TreeNode TreeNode) { 22 23 InOrder(TreeNode); 24 return res; 25 26 27 28 } 29 30 private void InOrder(TreeNode treeNode) { 31 32 if (treeNode != null) { 33 34 InOrder(treeNode.left); 35 36 if (head == null) { 37 38 head = treeNode; 39 res = treeNode; 40 41 } else { 42 43 head.right=treeNode; 44 treeNode.left=head; 45 head=treeNode; 46 47 48 } 49 InOrder(treeNode.right); 50 } 51 52 } 53 54 }?
轉載于:https://www.cnblogs.com/Octopus-22/p/9473656.html
總結
以上是生活随笔為你收集整理的二叉搜索树与双向链表的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: NOIp 数据结构专题总结 (1):ST
 - 下一篇: mybatis generator 属性