二叉搜索树转为双向链表(算法)
来源:互联网 发布:淘宝类目007是什么牌子 编辑:程序博客网 时间:2024/05/01 11:39
/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public: TreeNode* leftLast = NULL; TreeNode* Convert(TreeNode* root) { if(root==NULL) return NULL; if(root->left==NULL&&root->right==NULL){ leftLast = root;// 最后的一个节点可能为最右侧的叶节点 return root; } // 1.将左子树构造成双链表,并返回链表头节点 TreeNode* left = Convert(root->left); // 3.如果左子树链表不为空的话,将当前root追加到左子树链表 if(left!=NULL){ leftLast->right = root; root->left = leftLast; } leftLast = root;// 当根节点只含左子树时,则该根节点为最后一个节点 // 4.将右子树构造成双链表,并返回链表头节点 TreeNode* right = Convert(root->right); // 5.如果右子树链表不为空的话,将该链表追加到root节点之后 if(right!=NULL){ right->left = root; root->right = right; } return left!=NULL?left:root; }};
0 0
- 二叉搜索树转为双向链表(算法)
- 二叉搜索树转为双向链表
- 二叉搜索树转为双向链表
- 二叉搜索树转为有序双向链表(递归算法与非递归算法)
- 九:二叉搜索树与双向链表(二叉搜索树转为有序双向链表)
- 搜索二叉树转为有序双向链表
- 【树】二叉树转为双向链表
- 二叉查找树转为双向链表
- 二叉查找树转为双向链表
- [算法学习]二叉搜索树转双向链表
- 算法题:二叉搜索树与双向链表
- 算法题目---二叉搜索树与双向链表
- 面试算法(二十六)二叉搜索树与双向链表
- 笔试面试算法经典--二叉搜索树转有序的双向链表(Java)
- 算法系列——二叉搜索树和双向链表(剑指offer)
- 有序二叉树转为有序双向链表
- 二叉搜索树与双向链表
- 二叉搜索树和双向链表
- hdu 5122 简单题
- Html学习笔记5
- android笔记
- Oracle学习笔记20150908权限与角色的管理
- Android五大存储---(四大组件之一)ContentProvider(字段)
- 二叉搜索树转为双向链表(算法)
- MyBatis接口的简单实现原理
- 读
- 通过struts2.3.24实现登陆操作
- SVN命令使用详解
- hdu 2846 Repository
- Android之URI简介
- [Android]使用webview模拟textview显示两端对齐
- 数据结构---线性顺序表操作(c++)