二叉搜索时与双向链表python_JZ26-二叉搜索树与双向链表
生活随笔
收集整理的這篇文章主要介紹了
二叉搜索时与双向链表python_JZ26-二叉搜索树与双向链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、中序遍歷,當前結點,以及左側排好序的雙向鏈表,再調整當前結點的指針指向最前結點
/* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {} };*/ class Solution { public:void Convert1(TreeNode* pRootOfTree, TreeNode* &leftsortlist){if(!pRootOfTree)//一定是引用,引用改變原來的,指針是一份實參拷貝return;TreeNode *curr=pRootOfTree;if(curr->left!=NULL)Convert1(curr->left,leftsortlist);curr->left=leftsortlist; //當前結點和左側已經排好序的雙向鏈表if(leftsortlist!=NULL)leftsortlist->right=curr;leftsortlist=curr;if(leftsortlist->right!=NULL)Convert1(curr->right,leftsortlist);}TreeNode* Convert(TreeNode* pRootOfTree){TreeNode *leftsortlist=NULL;Convert1(pRootOfTree,leftsortlist); //當前結點和左側已經排好序的雙向鏈表TreeNode *headnode=leftsortlist;while(leftsortlist && leftsortlist->left) //leftsortlist已經到最后了,再回到第一個結點leftsortlist=leftsortlist->left;return leftsortlist;} };總結
以上是生活随笔為你收集整理的二叉搜索时与双向链表python_JZ26-二叉搜索树与双向链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mock模拟接口测试 vue_在 Vue
- 下一篇: 试管婴儿主要包括哪些费用?