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

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

http://www.nowcoder.com/questionTerminal/f95dcdafbde44b22a6d741baf71653f6

题目链接:https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6?tpId=190&&tqId=35195&rp=1&ru=/activity/oj&qru=/ta/job-code-high-rd/question-ranking
因为是删除倒数第n个节点,所以首先遍历链表的长度,之后再把循环出正数第length-n个节点,将p节点的next域指向p.next.next地址

 public ListNode removeNthFromEnd (ListNode head, int n) {
        // write code here
        ListNode cur=head;
        int len=0;
        while(cur!=null){
            cur=cur.next;
            ++len;
        }
        if(len==n)
            return head.next;
        cur=head;
        int temp=len-n;
        while(temp>1){
            cur=cur.next;
            temp--;
        }
        cur.next=cur.next.next;
        return head;
    }
全部评论

相关推荐

这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务