关闭

二叉树转换成双链表

252人阅读 评论(0) 收藏 举报

题目描述

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。


主要代码如下:

class Solution {
public:
    TreeNode* Convert(TreeNode* pRootOfTree)
    {
        if(pRootOfTree==NULL)
         return NULL;
        TreeNode *pre=NULL;
        TreeNode *head=isconvert(pRootOfTree,pre);
        if(head==NULL)
            return NULL;
        while(head->left!=NULL)
            head=head->left;
        return head;
       
       
       
    }
    //中序遍历建立双链表,采用递归的方法
    TreeNode *isconvert(TreeNode *root,TreeNode *pre){
       if(root==NULL)
            return NULL;
     //左子树
       
        if(root->left!=NULL){
            pre=isconvert(root->left,pre);
        }
        if(pre!=NULL){
            pre->right=root;
        }
        root->left=pre;
        pre=root;
        //右子树
        if(root->right!=NULL){
            pre=isconvert(root->right,pre);
        }
        return pre;
   
    }
};


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Lintcode 将二叉查找树转换成双链表

/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left,...
  • u010864884
  • u010864884
  • 2015-10-24 01:08
  • 340

常见算法-将二叉搜索树转化为排序的双向链表(java版)

常见算法-将二叉搜索树转化为排序的双向链表(java版) 本篇博文主要在参考下面这篇总结二叉树常见算法题的博文基础上修改而成,这篇文章总结得非常棒,建议大家都读读-[面试大总结之二:Java搞定面...
  • wuyuan100
  • wuyuan100
  • 2015-04-04 16:19
  • 820

二叉树与链表之间的转换

一、单链表转换为二叉树 // C++ program to create a Complete Binary tree from its Linked List // Representation ...
  • u010590166
  • u010590166
  • 2013-12-11 12:38
  • 1029

树、森林与二叉树的转换总结

前言:   在树这一块的数据结构中最重要的就是二叉树,但是对于我们大部分人来说二叉树的基础掌握还是ok的,但是有时候我们也会忽略了树于森林(本人就是忽略了),今天就在这里总结总结数、森林与二叉树的转换...
  • xin917480852
  • xin917480852
  • 2016-01-12 15:27
  • 1285

Lintcode 将二叉查找树转换为双链表

将二叉查找树转换成双链表描述 笔记 数据 评测 将一个二叉查找树按照中序遍历转换成双向链表。您在真实的面试中是否遇到过这个题? Yes 样例 给定一个二叉查找树:4 / \ 2...
  • u010510962
  • u010510962
  • 2016-04-18 16:23
  • 352

动态二叉链表的遍历和转换成静态二叉链表

//动态二叉树的先根遍历,中根遍历、后根遍历和转换成静态二叉链表 代码: #include #include #define N 20 typedef struct node          ...
  • congcong7267
  • congcong7267
  • 2017-12-07 08:37
  • 86

链表和二叉树

3. 链表 ~~~~~~~ 1) 基本特征:内存中不连续的节点序列,节点之间通过next指针彼此相连;                          每个节点的n...
  • qq_28090573
  • qq_28090573
  • 2016-04-26 13:55
  • 734

二叉搜索树转换为有序双向链表

一、问题描述 输入一棵二叉搜索树,现在要将该二叉搜索树转换成一个排序的双向链表。而且在转换的过程中,不能创建任何新的结点,只能调整树中的结点指针的指向来实现。 二、实现思路 在二叉搜索树...
  • ljianhui
  • ljianhui
  • 2014-03-28 00:04
  • 17505

数据结构之二叉树链表

2.二叉树      二叉树是n个结点的有限集合,该集合或者为空集(称为空二叉树),或者有一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成      特点:         &...
  • followMyInclinations
  • followMyInclinations
  • 2015-10-22 13:08
  • 2091

数据结构学习:利用链表建立二叉树

利用链表保存二叉树
  • He11o_Liu
  • He11o_Liu
  • 2015-09-21 21:18
  • 2507
    个人资料
    • 访问:23033次
    • 积分:624
    • 等级:
    • 排名:千里之外
    • 原创:38篇
    • 转载:4篇
    • 译文:1篇
    • 评论:5条
    最新评论