Java LeetCode篇-深入了解关于单链表的经典解法
以下是一个针对LeetCode上经典问题的Java代码解法示例,这个问题是关于删除链表中的重复节点。
// Definition for singly-linked list.
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
if (head == null) {
return head;
}
ListNode current = head;
while (current.next != null) {
if (current.val == current.next.val) {
current.next = current.next.next;
} else {
current = current.next;
}
}
return head;
}
}
这段代码首先检查链表是否为空,然后遍历链表,如果发现相邻节点值相同,则删除后续重复的节点。最后返回处理后的链表头节点。这是一个典型的对链表进行节点删除操作的解法,适用于解决LeetCode上的其他相关问题。
评论已关闭