diff --git a/java/delete-node-in-a-linked-list.java b/java/delete-node-in-a-linked-list.java new file mode 100644 index 0000000..bef628f --- /dev/null +++ b/java/delete-node-in-a-linked-list.java @@ -0,0 +1,21 @@ +/** + * Definition for singly-linked list. public class ListNode { int val; ListNode next; ListNode(int + * x) { val = x; } } + */ +class Solution { + private boolean isLastNode(ListNode node) { + return node != null && node.next == null; + } + + public void deleteNode(ListNode node) { + while (node != null) { + node.val = node.next.val; + + if (isLastNode(node.next)) { + node.next = null; + } + + node = node.next; + } + } +}