leetcode:203. 移除链表元素(两种方法)
生活随笔
收集整理的這篇文章主要介紹了
leetcode:203. 移除链表元素(两种方法)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一:題目
二:上碼
1:方法一:(虛擬一個首結點)
class Solution { public:ListNode* removeElements(ListNode* head, int val) {//1.虛擬一個頭結點 這樣就不用單獨處理了ListNode * virtuals = new ListNode(0);//給其開辟個空間并且賦初值virtuals->next = head;ListNode *node = virtuals;//這里的定義一個node是為了保持while(node != NULL && node->next != NULL){if(node->next->val == val){ListNode *temp = node->next;node->next = node->next->next;delete temp;}else{node = node->next;}}head = virtuals->next;//真正的頭結點是虛擬結點的下一位//釋放虛擬空間delete(virtuals);return head;} };2:方法二(不對首結點進行處理)
class Solution { public:ListNode* removeElements(ListNode* head, int val) {//處理當刪除的值為頭節(jié)點的時候while(head != NULL && head->val == val){ListNode *node = head;head = node->next;delete node;}//處理頭結點后面的結點ListNode* node = head;while(node != NULL && node->next != NULL){if(node->next->val == val) {ListNode *temp = node->next;node->next = node->next->next; delete temp;}else{node = node->next;}}return head;} };總結
以上是生活随笔為你收集整理的leetcode:203. 移除链表元素(两种方法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么减肥减了一段时间突然不掉秤了
- 下一篇: 冰敷可以敷哪些位置