public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) return head;
ListNode p = reverseList(head.next);
head.next.next = head;
head.next = null;
return p;
}
public ListNode ReverseList(ListNode head)
{
if(head==null || head.next == null)
return head;
var t = ReverseList(head.next);
head.next.next = head;
head.next = null;
return t;
}