LeetCode算法题-Delete Node in a Linked List

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> LeetCode算法题-Delete Node in a Linked List

这是悦乐书的第197次更新,第204篇原创

LeetCode算法题-Delete Node in a Linked List

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第60题(顺位题号是235)。编写一个函数来删除单链表中的节点(尾部除外),只允许访问该节点。例如:

鉴于链表 -  head = [4,5,1,9],如下所示:

4  - 5  - 1  - 9

输入:head = [4,5,1,9],node = 5

输出:[4,1,9]

说明:您将获得值为5的第二个节点,即链表调用你的函数后应该变成4  - 1  - 9。

输入:head = [4,5,1,9],node = 1

产出:[4,5,9]

说明:您将获得值为1的第三个节点,即链表在调用你的函数后应该变成4  - 5  - 9。

注意:

  • 链表至少有两个元素。
  • 所有节点的值都是唯一的。
  • 给定节点不是尾部,它始终是链表的有效节点。
  • 不要从你的功能中返回任何东西。
  • 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

    02 解题

    传入的参数node,是要删除掉的节点,也就是需要跳过node。先将当前节点的值用其下一个节点的值覆盖掉,然后node的下一个节点指向其下下个节点。

    
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
    

    03 小结

    算法专题目前已连续日更超过一个月,算法题文章60+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

    以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

    LeetCode算法题-Delete Node in a Linked List

    可能你还想看:

    LeetCode算法题-Delete Node in a Linked List

    原文始发于微信公众号( 悦乐书 ):

    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> LeetCode算法题-Delete Node in a Linked List


     上一篇
    LeetCode算法题-Palindrome Linked List LeetCode算法题-Palindrome Linked List
    这是悦乐书的第196次更新,第202篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第58题(顺位题号是234)。给出一个单链表,确定它是否是回文。例如: 输入:1- 2 输出:false 输入:1- 2-
    2021-04-05
    下一篇 
    LeetCode算法题-Lowest Common Ancestor of a Binary Search Tree LeetCode算法题-Lowest Common Ancestor of a Binary Search Tree
    这是悦乐书的第197次更新,第203篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第59题(顺位题号是235)。给定二叉搜索树(BST),找到BST中两个给定节点的最低共同祖先(LCA)。根据维基百科上LCA的
    2021-04-05