zoukankan      html  css  js  c++  java
  • LeetCode 206. Reverse Linked List (倒转链表)

    Reverse a singly linked list.


    题目标签:Linked List

      题目给了我们一个链表,要求我们倒转链表。

      利用递归,新设一个newHead = null,每一轮 把下一个 node 存入 next 记住,把目前的点 cursor 连到 newHead;

      然后把 next 当作新的 cursor;把 cursor 当作新的 newHead 递归下去。

      换句话说,每到一个点,把下一个点(右边的)记住,传到下一轮,然后把目前的点反向链接(向左链接)。

    Java Solution:

    Runtime beats 22.53% 

    完成日期:06/11/2017

    关键词:singly-linked list

    关键点:递归向左链接;记住右边的点代入下一轮

     1 /**
     2  * Definition for singly-linked list.
     3  * public class ListNode {
     4  *     int val;
     5  *     ListNode next;
     6  *     ListNode(int x) { val = x; }
     7  * }
     8  */
     9 class Solution 
    10 {
    11     public ListNode reverseList(ListNode head) 
    12     {
    13        return dfs(head, null);
    14     }
    15     
    16     private ListNode dfs(ListNode cursor, ListNode newHead)
    17     {
    18         if(cursor == null)
    19             return newHead;
    20         
    21         ListNode next = cursor.next;
    22         cursor.next = newHead;
    23         
    24         return dfs(next, cursor);
    25     }
    26 }

    参考资料:N/A

    LeetCode 题目列表 - LeetCode Questions List

    题目来源:https://leetcode.com/

  • 相关阅读:
    Java 堆和栈 垃圾回收 2015/9/16
    多态 Java 2015/9/16
    学校项目过程中知识点 Java 2015/9/15 晚
    Python print输出不换行
    Windows 加载EXT分区
    RouterOS 安全模式
    RouterOS Openswan l2tp ipsec
    RouterOS 自动邮件备份脚本
    python chnroutes ROS版
    Kinect 2.0&Speech 11 中文语音控制
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/7927259.html
Copyright © 2011-2022 走看看