描述
输入一个链表,反转链表后,输出新链表的表头。Java
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { if(head == null) return null; else return reverserList(head); } public ListNode reverserList(ListNode head){ if(head.next==null) return head; ListNode last = ReverseList(head.next); head.next.next = head; head.next = null; return last; } }
Python
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList(self, pHead): # write code here if pHead is None: return None else: return self.reverseList(pHead) def reverseList(self, pHead): if pHead.next is None: return pHead else: last = self.reverseList(pHead.next) pHead.next.next = pHead pHead.next = None return last