题目 |
题目传送门:传送门(点击此处)
题解 |
思路
链表的删除操作,其实就是指针的变化,比较easy的题目
- 因为要删除一个元素,要修改删除元素的上一个元素的next指针,所以先创建一个新的node节点,next指向原链表head
- 这时head指针就释放了出来,然后head指向新的node
- 遍历链表,进行元素的删除
code
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteNode(ListNode head, int val) {
ListNode node = new ListNode(0);
node.next = head;
head = node;
while (node.next != null) {
if (node.next.val == val) {
node.next = node.next.next;
break;
}
node = node.next;
}
return head.next;
}
}