zoukankan      html  css  js  c++  java
  • 206.反转链表

    反转一个单链表。
    示例:
    输入: 1->2->3->4->5->NULL
    输出: 5->4->3->2->1->NULL
     
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/reverse-linked-list
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
     
     
     1 struct ListNode {
     2     int val;
     3     ListNode *next;
     4     ListNode(int x) : val(x), next(NULL) {}
     5 };
     6 
     7 class Solution {
     8 public:
     9     ListNode* reverseList(ListNode* head) {
    10         ListNode *new_head = NULL;//指向新链表头节点的指针
    11         while (head) {
    12             //备份 head->next,因为第二步要把head->next 指向新的头节点,不保存就找不到了
    13             ListNode *next = head->next;
    14             head->next = new_head;//更新 head->next,指向新链表的头节点
    15             new_head = head;//移动 new_head,指向新节点
    16             head = next;
    17         }
    18         return new_head;
    19     }
    20 };
     
    测试
     1 int main(int argc, const char * argv[]) {
     2     ListNode a(1);
     3     ListNode b(2);
     4     ListNode c(3);
     5     ListNode d(4);
     6     ListNode e(5);
     7     a.next = &b;
     8     b.next = &c;
     9     c.next = &d;
    10     d.next = &e;
    11     Solution solve;
    12     ListNode *head = &a;
    13     cout << "Before
    ";
    14     while (head) {
    15         cout <<head->val<<endl;
    16         head = head->next;
    17     }
    18     head = solve.reverseList(&a);
    19     cout << "After
    ";
    20     while (head) {
    21         cout <<head->val<<endl;
    22         head = head->next;
    23     }
    24     
    25     return 0;
    26 }
    View Code
     

  • 相关阅读:
    mysql数据库表名区分大小写
    Maven配置和使用
    Centos7修改网卡名称
    mongo启动报错问题处理
    zabbix分布式部署和主机自动发现
    zabbix-server、proxy、agent的分布式部署步骤
    zabbix常见错误处理方式
    git用ssh方式下载和提交代码
    CentOS7使用阿里云的yum源
    VMware三种网络模式详解
  • 原文地址:https://www.cnblogs.com/i-8023-/p/11727021.html
Copyright © 2011-2022 走看看