leetcode Remove Nth Node From End of List(Java)

来源:互联网 发布:愚人节整人软件 编辑:程序博客网 时间:2024/05/24 04:57

题目链接:点击打开链接

类型:Remove Nth Node From End of List

解法:

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public ListNode removeNthFromEnd(ListNode head, int n) {ListNode before = head;int len = 0;while (before != null){before = before.next;len++;}if (len == n)return head.next;if (len == 2){if (n == 2)return head.next;else{ListNode s = new ListNode(head.val);s.next = null;}}before = head;int j = 1;while(j < len-n){before = before.next;j++;}ListNode temp = before.next.next;before.next = temp;return head;         }}