zoukankan      html  css  js  c++  java
  • 206. Reverse Linked List【easy】

    206. Reverse Linked List【easy】

    Reverse a singly linked list.

    Hint:

    A linked list can be reversed either iteratively or recursively. Could you implement both?

    解法一:

     1 class Solution {
     2 public:
     3     ListNode* reverseList(ListNode* head) {
     4         ListNode * pre = NULL;
     5         
     6         while (head != NULL) {
     7             ListNode * next = head->next;
     8             head->next = pre;
     9             pre = head;
    10             head = next;
    11         }
    12         
    13         return pre;
    14     }
    15 };

    解法二:

     1 class Solution {
     2 public:   
     3     ListNode* reverseList(ListNode* head) {
     4         if (!head || !(head -> next)) return head;
     5         ListNode* node = reverseList(head -> next);
     6         head -> next -> next = head;
     7         head -> next = NULL;
     8         return node; 
     9     }
    10 }; 

    参考了@jianchao.li.fighter 的代码

    The basic idea of this recursive solution is to reverse all the following nodes after head. Then we need to set head to be the final node in the reversed list. We simply set its next node in the original list (head -> next) to point to it and sets its next to be NULL.

    解法三:

     1 public ListNode reverseList(ListNode head) {
     2     /* recursive solution */
     3     return reverseListInt(head, null);
     4 }
     5 
     6 private ListNode reverseListInt(ListNode head, ListNode newHead) {
     7     if (head == null)
     8         return newHead;
     9     ListNode next = head.next;
    10     head.next = newHead;
    11     return reverseListInt(next, head);
    12 }

    参考了@braydenCN 的代码

  • 相关阅读:
    U10783 名字被和谐了
    P1151 子数整数
    P2756 飞行员配对方案问题
    P3227 [HNOI2013]切糕
    BZOJ 2127: happiness(最小割解决集合划分)
    linux脚本初体验
    130902 周赛
    Citrix 服务器虚拟化之三十二 XenConvert
    数据字典统一管理,动态下拉框
    [置顶] oracle 数据库表中转换成java代码
  • 原文地址:https://www.cnblogs.com/abc-begin/p/7667897.html
Copyright © 2011-2022 走看看