(四)一个简单的删除链表中某个元素的算法

来源:互联网 发布:java开源微信商城系统 编辑:程序博客网 时间:2024/05/31 19:48

Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.

Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4 after calling your function.

=================================我是可爱的分隔符,上面是题目,下面是算法=============================================

以下是算法的简单逻辑:

一、先判断链表是否为空,不为空时再执行以下操作

二、将删除元素的值向后移一位变成下一个元素的值

三、将删除元素的指针也对应向后移变成下一个元素的指针

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public void deleteNode(ListNode node) {        if(node == null && node.next == null){        }else{            node.val = node.next.val;            node.next = node.next.next;        }    }}


0 0
原创粉丝点击