Leetcode 203. 移除链表元素 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 203. 移除链表元素 解题思路及C++实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解題思路:
定義兩個指針分別指向當前節點和上一個節點。遍歷一次鏈表即可。
需要注意的情況是,鏈表的頭結點的 val 就和輸入的 val 相等 這一情況。
?
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode* removeElements(ListNode* head, int val) {if(!head) return head;while(head && head->val == val) head = head->next;ListNode* last = head;ListNode* cur = head;while(cur){if(cur->val == val){//將last節點的next指針指向cur的nextlast->next = cur->next;cur = last->next;}else{last = cur;cur = cur->next;}}return head;} };?
?
?
總結
以上是生活随笔為你收集整理的Leetcode 203. 移除链表元素 解题思路及C++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 160. 相交链表 解
- 下一篇: Leetcode 206. 反转链表 解