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 的代码

  • 相关阅读:
    理解javascript 对象,原型对象、闭包
    JSON数据理解
    css 盒模型相关样式
    神奇的CSS3选择器
    设计模式六大原则
    java反射机制性能优化
    一份关于jvm内存调优及原理的学习笔记
    浅谈http请求数据分析
    Apache+Tomcat部署负载均衡(或集群)
    同台电脑部署多组Tomcat负载均衡(或集群)
  • 原文地址:https://www.cnblogs.com/abc-begin/p/7667897.html
Copyright © 2011-2022 走看看