ListNode19.删除倒数第N个节点

◇◆丶佛笑我妖孽 提交于 2020-02-12 23:02:24

在这里插入图片描述
思路:这道题主要是边界条件的考虑,如果删除的是第1个元素的时候,要考虑到
哑结点的使用

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode p2 = head;
        while(p2 != null && n > 0){
            p2 = p2.next;
            n--;
        }
        ListNode p1 = new ListNode(0);
        p1.next = head;
        head = p1;
        while(p2 != null){
            p1 = p1.next;
            p2 = p2.next;
        }
        p1.next = p1.next.next;
        return head.next;
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!