zoukankan      html  css  js  c++  java
  • 剑指Offer14 逆序链表

     1 /*************************************************************************
     2     > File Name: 14_ReverseListNode.cpp
     3     > Author: Juntaran
     4     > Mail: JuntaranMail@gmail.com
     5     > Created Time: 2016年08月30日 星期二 15时47分32秒
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <malloc.h>
    10 
    11 // 链表结构体
    12 struct ListNode
    13 {
    14     int val;
    15     struct ListNode* next;
    16 };
    17 
    18 // 构造链表
    19 ListNode* createList()
    20 {
    21     struct ListNode* head;
    22     struct ListNode* p;
    23     struct ListNode* q;
    24     head = p = (ListNode*)malloc(sizeof(ListNode));
    25     head->val = 0;
    26     for (int i = 1; i <= 10; ++i)
    27     {
    28         q = (ListNode*)malloc(sizeof(ListNode));
    29         q->val = i;
    30         p->next = q;
    31         p = q;
    32     }
    33     p->next = NULL;
    34     return head;
    35 }
    36 
    37 // 顺序输出链表
    38 void PrintList(ListNode* head)
    39 {
    40     if (head == NULL)
    41         return;
    42     ListNode* temp = head;
    43     printf("PrintList:
    ");
    44     while (temp != NULL)
    45     {
    46         printf("%d ", temp->val);
    47         temp = temp->next;
    48     }
    49     printf("
    ");
    50 }
    51 
    52 // 逆序链表
    53 ListNode* ReverseList(ListNode* head)
    54 {
    55     if (head==NULL || head->next==NULL)
    56         return head;
    57     ListNode* fast = head->next;
    58     ListNode* slow = head;
    59     slow->next = NULL;
    60     ListNode* temp;
    61     
    62     while (fast->next != NULL)
    63     {
    64         temp = fast->next;
    65         fast->next = slow;
    66         slow = fast;
    67         fast = temp;
    68     }
    69     fast->next = slow;
    70     return fast;
    71 }
    72 
    73 int main()
    74 {
    75     ListNode* test = createList();
    76     PrintList(test);
    77     test = ReverseList(test);
    78     PrintList(test);
    79     return  0;
    80 }
  • 相关阅读:
    分享AWS网站
    centos7划分vlan
    在docker容器上如何实现代码的版本管理
    在docker私有仓库如何查看有哪些镜像?
    centos7下报错: import requests ImportError: No module named requests
    Unity2018.4.7导出Xcode工程报错解决方案
    1.OpenGL mac开发环境搭建记录
    unity 模板测试 详解
    游戏战争迷雾
    Unity 移动平台自己编写Shader丢失问题
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5823158.html
Copyright © 2011-2022 走看看