您的位置:首页 > Web前端 > Node.js

LeetCode 237. Delete Node in a Linked List

2016-05-17 22:23 381 查看

题目

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.

public class Solution237 {

public static void main(String args[]){
Solution237 solution237 = new Solution237();

ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
ListNode listNode4 = new ListNode(4);

listNode1.next = listNode2;
listNode2.next = listNode3;
listNode3.next = listNode4;

solution237.deleteNode(listNode3);
}

/**
* 当前节点的值等于下一个节点的值,然后当前节点指向下一个节点的下一个节点
*/
public void deleteNode(ListNode node) {
node.val = node.next.val;
if(node.next.next==null){
node.next=null;
}else{
node.next=node.next.next;
}
}

public static class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: