Given a linked list, remove the nth node from the end of list and return its head.
For example,
Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5.
Note:
Given n will always be valid.
Try to do this in one pass.
解题思路:
难度不大,注意下边界条件即可:
JAVA实现:
static public ListNode removeNthFromEnd(ListNode head, int n) { if(n<=0) return head; ListNode ln=head; int i=1; while(ln.next!=null){ ln=ln.next; i++; } if(i==n) return head.next; ln=head; for(;i>n+1;i--) ln=ln.next; ln.next=ln.next.next; return head; }
时间: 2024-10-26 01:21:40