二叉搜索树与双向链表
2017-03-16 17:22
190 查看
题目描述
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。代码
class Solution { public: TreeNode* Convert(TreeNode* pRootOfTree) { TreeNode* lastNode = NULL; convert(pRootOfTree, &lastNode); while (lastNode != NULL && lastNode->left != NULL) { lastNode = lastNode->left; }; return lastNode; } void convert(TreeNode* root, TreeNode** lastNode)//中序遍历就是排序后的结果 { if (root == NULL) { return; } //左节点 if (root->left != NULL) { convert(root->left, lastNode); } root->left = *lastNode; if (*lastNode != NULL) { (*lastNode)->right = root; } *lastNode = root; //右节点 if (root->right != NULL) { convert(root->right, lastNode); } } };
相关文章推荐
- 剑指offer第26题(二叉搜索树与双向链表)
- 【剑指offer】二叉搜索树转双向链表
- 《剑指Offer》 面试题27:二叉搜索树与双向链表
- 剑指Offer面试题:25.二叉搜索树与双向链表
- 剑指offer-27二叉搜索树与双向链表
- 剑指Offer面试题26复杂链表的复制,面试题27二叉搜索树和双向链表(递归)
- 笔试面试算法经典--二叉搜索树转有序的双向链表(Java)
- 二叉搜索树与双向链表
- 二叉搜索树转有序双向链表
- 26、二叉搜索树与双向链表
- Q27:二叉搜索树与双向链表
- 九度OJ 1503:二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 九:二叉搜索树与双向链表(二叉搜索树转为有序双向链表)
- 剑指Offer--027-二叉搜索树与双向链表
- 二叉搜索树与双向链表
- 【牛客网】二叉搜索树与双向链表
- 二叉搜索树和双向链表
- (C++)剑指offer-26:二叉搜索树与双向链表(分解让复杂问题简单)
- 二叉搜索树与双向链表