非递归将二叉搜索树转换成双向链表
来源:互联网 发布:淘宝死神ps3 编辑:程序博客网 时间:2024/05/16 08:37
《剑指Offer》一书中介绍了将二叉树转成双向链表的递归算法,今天面试碰到了这个题,不会做,很悲剧。
回来想了一下,写一个非递归的转换算法,转换的关键一步是得将二叉树退化成单向链表,代码如下:
//结点结构类型struct Node{int value;Node* left;Node* right;Node(int v, Node* l = NULL, Node* r = NULL) : value(v), left(l), right(r) {}};void Rotate(Node** root){if (!root || !*root){return;}Node* tmp = new Node(0, *root);//辅助结点Node* cur = tmp;while (cur->left){if (!cur->left->right){cur = cur->left;} else{Node* right = cur->left->right;cur->left->right = right->left;right->left = cur->left;cur->left = right;}}*root = tmp->left;delete tmp;}
- 非递归将二叉搜索树转换成双向链表
- 将二叉搜索树转换成双向链表
- 将二叉搜索树转换成双向链表
- 数据结构 将搜索二叉树转换成双向链表
- 将搜索二叉树转换成双向链表
- 将搜索二叉树转换成双向链表
- 将一个二叉搜索树转换成双向链表
- 将搜索二叉树转换成双向链表
- 将搜索二叉树转换成双向链表
- 非递归实现二叉搜索树转化成双链表
- 链表问题---将搜索二叉树转换成双向链表
- 二叉搜索树转换成双向链表
- 把搜索二叉树转换成双向链表
- 二叉搜索树转换成双向链表
- 二叉搜索树转换成双向链表
- 将二叉树转换成双向链表
- 二叉树转换成双向链表
- 二叉树转换成双向链表
- jQuery选择器整理
- 云计算
- 我学习以来关注的一些博客和论坛(分享一下)
- PKU 2104 K-th Number
- 我们就这样散了吧,没有结局的,散了吧
- 非递归将二叉搜索树转换成双向链表
- yum更换源
- 基于Basic4android的Android应用开发指南——引言 .
- 线段树
- SCP/SSH 更换端口号登录
- 心痛的感觉是什么:伤感日志
- 最近解两个bug的过程及感受
- 数据库优化
- poj 1145Tree Summing +dfs+二叉树