Reverse Linked List

来源:互联网 发布:网易足球数据 编辑:程序博客网 时间:2024/05/29 12:04

Reverse a singly linked list.

这种题目并不难,但是需要弄清楚两个指针之间的关系。

java

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */class Solution {    public ListNode reverseList(ListNode head) {        ListNode prev = null;        ListNode curr = head;        while (curr != null) {            ListNode temp = curr.next;            curr.next = prev;            prev = curr;            curr = temp;        }        return prev;    }}
python

"""Definition of ListNodeclass ListNode(object):    def __init__(self, val, next=None):        self.val = val        self.next = next"""class Solution:    """    @param: head: n    @return: The new head of reversed linked list.    """    def reverse(self, head):        # write your code here        prev = None        curr = head        while curr is not None:            temp = curr.next            curr.next = prev            prev = curr            curr = temp        return prev


原创粉丝点击