LeetCode篇之链表:83(去重问题)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode篇之链表:83(去重问题)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
@TOC
83.刪除排序鏈表中的重復(fù)元素:
題目:
解題思路:
1. 判斷head指針的情況:當(dāng)head指針為空時,即鏈表為空,就沒有必要 進(jìn)行后續(xù)判斷了;當(dāng)head指針的后繼節(jié)點(diǎn)為空時,說明鏈表只有一個 節(jié)點(diǎn)head,直接返回head即可
2. 判斷邊界條件判斷:當(dāng)p->next->next == NULL時,即最后倆個節(jié)點(diǎn)進(jìn) 行比較時,若用p->next = p->next->next進(jìn)行去重操作,會出現(xiàn)空指針 的問題。
3. 鏈表中的去重操作用 p->next = p->next->next即可
源碼:
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* deleteDuplicates(struct ListNode* head){struct ListNode *p;p = head;if(head == NULL)return NULL;if(head->next == NULL)return head;while(p->next != NULL){if(p->val == p->next->val){p->next = p->next->next;}else{p = p->next;}}return head; }踩坑點(diǎn):
1.空指針問題:
當(dāng)使用q = p->next時,測試結(jié)果正確,但是提交后會產(chǎn)生空指針錯誤
重要重要重要: 怎么解決小編也無能為力(其實(shí)小編是個渣渣,請叫我渣渣編),哪位大佬能解決請聯(lián)系小編或評論留言哈
總結(jié)
以上是生活随笔為你收集整理的LeetCode篇之链表:83(去重问题)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 栈的链式存储及常用操作
- 下一篇: (软件工程复习核心重点)第四章总体设计-