剑指offer 二叉搜索树与双向链表
2018-03-31 15:18
253 查看
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
其实两个递归是一样的,只是返回的节点不一样,一个是头,一个是尾,为了清晰把它分开了
其实两个递归是一样的,只是返回的节点不一样,一个是头,一个是尾,为了清晰把它分开了
public TreeNode Convert(TreeNode pRootOfTree){ if(pRootOfTree == null) return null; return rightConvert(pRootOfTree, null); } public TreeNode leftConvert(TreeNode pRootOfTree,TreeNode preNode) { if(pRootOfTree == null) return null; pRootOfTree.left = leftConvert(pRootOfTree.left,pRootOfTree); pRootOfTree.right = rightConvert(pRootOfTree.right,pRootOfTree); while (pRootOfTree.right != null) pRootOfTree = pRootOfTree.right; pRootOfTree.right = preNode; return pRootOfTree; } public TreeNode rightConvert(TreeNode pRootOfTree,TreeNode preNode) { if(pRootOfTree == null) return null; pRootOfTree.left = leftConvert(pRootOfTree.left,pRootOfTree); pRootOfTree.right = rightConvert(pRootOfTree.right,pRootOfTree); while (pRootOfTree.left != null) pRootOfTree = pRootOfTree.left; pRootOfTree.left = preNode; return pRootOfTree; }
相关文章推荐
- 剑指offer——二叉搜索树与双向链表
- 【剑指Offer面试题】 九度OJ1503:二叉搜索树与双向链表
- 剑指offer刷题之c实现的二叉搜索树转换成双向链表
- 【剑指Offer】二叉搜索树与双向链表
- 剑指offer解题报告(Java版)——二叉搜索树转换为双向链表 27
- 剑指Offer学习总结-二叉搜索树与双向链表
- 【剑指offer】二叉搜索树与双向链表
- 剑指offer--二叉搜索树与双向链表
- 剑指offer题解 二叉搜索树与双向链表
- 剑指Offer 27 二叉搜索树与双向链表
- 【面试题】剑指Offer-27-将二叉搜索树转换成排序的双向链表
- 剑指offer第二十六题【二叉搜索树与双向链表】c++实现
- 剑指offer:二叉搜索树与双向链表
- 码农小汪-剑指Offer之24 -二叉搜索树与双向链表
- 剑指offer之面试题27:二叉搜索树与双向链表
- 剑指offer--二叉搜索树与双向链表
- 剑指offer-面试题27-二叉搜索树与双向链表
- 剑指offer--面试题27:二叉搜索树与双向链表--Java实现
- 剑指offer——二叉搜索树与双向链表
- 【剑指offer】二叉搜索树与双向链表