

#ifndef TREE_TOULIST_H#define TREE_TOULIST_H#include"reconstructBinaryTree.h"void convertNode(TreeNode *t_node,TreeNode **plastNodeList);TreeNode* treeToduTree(TreeNode **head);TreeNode* treeToduTree(TreeNode **head){if((*head)==NULL||head==NULL){return NULL;}TreeNode *root=NULL;convertNode(*head,&root);while(root!=NULL&&root->left!=NULL){root=root->left;}return root;}void convertNode(TreeNode *t_node,TreeNode **plastNodeList){if(t_node==NULL){return;}if(t_node->left!=NULL){convertNode(t_node->left,plastNodeList);}t_node->left=*plastNodeList;if(*plastNodeList!=NULL){(*plastNodeList)->right=t_node;}*plastNodeList=t_node;if(t_node->right!=NULL){convertNode(t_node->right,plastNodeList);}}#endif
t_node->left=*plastNodeList;if(*plastNodeList!=NULL){(*plastNodeList)->right=t_node;}*plastNodeList=t_node;
原文:http://www.cnblogs.com/yml435/p/4655481.html