【Leetcode】Reverse Linked List

来源:互联网 发布:程序员找工作 编辑:程序博客网 时间:2024/06/04 01:31

原题链接:https://leetcode.com/problems/reverse-linked-list/

题目:

Reverse a singly linked list.

Hint:

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

思路:

头插法建立链表

算法:

[java] view plain copy
  1. public ListNode reverseList(ListNode head) {  
  2.         ListNode p = head, q, t;  
  3.         if (p == null)  
  4.             return head;  
  5.         q = p.next;  
  6.         while (q != null) {  
  7.             t = q.next;//保存当前要处理结点后面的一个结点  
  8.             q.next = p;  
  9.             p = q; //p是新链表头结点  
  10.             q = t;  
  11.         }  
  12.         head.next = null;//原头结点变成尾节点  
  13.         head = p;  
  14.         return head;  
  15.     }  
0 0
原创粉丝点击