【链表】删除链表的倒数第n个节点

【链表】删除链表的倒数第n个节点,第1张

思路:为了保持删除头结点和其他节点 *** 作一致,引入虚拟头结点duumyNode。

假设链表长度为len,删除倒数第n个节点就是删除第len-n+1个节点,删除链表节点需要使用待删除节点 的前驱节点,所以p从虚拟头结点开始走len-n步,然后执行p.next=p.next.next即可

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param head ListNode类 
     * @param n int整型 
     * @return ListNode类
     */
    public ListNode removeNthFromEnd (ListNode head, int n) {
        // write code here
        if(head==null)return null;
        ListNode dummyNode=new ListNode(0);
        dummyNode.next=head;
        int len=length(head);
        int step=len-n;
        ListNode p=dummyNode;
        for(int i=0;i

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/734837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)