递归实现链表反转
2016-09-03 18:41
429 查看
// ConsoleApplication4.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdio.h" #include "string.h" #include "stdlib.h" typedef struct Node{ int value; struct Node* next; }TreeNode; TreeNode *reverse(TreeNode *node,TreeNode *head) { if (node->next == NULL) { head = node; return node; } TreeNode *p = reverse(node->next,head); p->next = node; node->next = NULL; return node; } int _tmain(int argc, _TCHAR* argv[]) { TreeNode *l,*head; TreeNode *p; l = (TreeNode *)malloc(sizeof(TreeNode)); l->value = 1; head = l; p = (TreeNode *)malloc(sizeof(TreeNode)); p->value = 2; l->next = p; l = p; p = (TreeNode *)malloc(sizeof(TreeNode)); p->value = 3; l->next = p; l = p; p = (TreeNode *)malloc(sizeof(TreeNode)); p->value = 4; l->next = p; l = p; p = (TreeNode *)malloc(sizeof(TreeNode)); p->value = 5; l->next = p; l = p; p = (TreeNode *)malloc(sizeof(TreeNode)); p->value = 6; l->next = p; l = p; l->next = NULL; p = reverse(head,l); return 0; }
相关文章推荐
- 【100题】反转链表(递归实现)
- 递归和非递归实现链表反转
- 实现链表的反转(递归方法与非递归方法)
- C/C++面试程序题(一)——字符串反转、链表反转的递归、非递归实现
- 递归和非递归实现链表反转
- C递归实现单向链表的反转
- C++递归与非递归实现链表的反转
- C递归实现单向链表的反转
- 链表反转的递归和非递归实现方式
- 使用单链表反转的递归和非递归实现方式
- 带头节点链表的反转 循环和递归 C#实现
- 反转链表递归和非递归实现(面试题 16)
- 链表反转的实现(递归反转链表,非递归反转链表)
- 链表反转的递归和非递归实现方式
- C递归实现单向链表的反转
- 递归和非递归实现链表反转
- 递归实现链表反转
- 【剑指offer】链表相关-反转链表&&递归实现16
- java实现单链表反转(递归方式)
- 剑指Offer系列---(18)反转链表(递归与非递归实现)