鍊錶這部分的題比較簡單
21合併兩個鍊錶
類似於歸併排序,略
83刪除鍊錶中重複元素
判斷下乙個是否於當前相同,相同則跳過
listnode*
deleteduplicates
(listnode* head)
else
}return head;
}
環形鍊錶
兩種解法:
是使用快慢指標,但我做的時候死迴圈了
是使用set迭代器
bool
hascycle
(listnode *head)
return
false
;}
160相交鍊錶
先計算兩個鍊錶的長度,然後先對長的遍歷,至相同長度的時候再兩個指標同時移動,判斷相同元素
203移除表中元素
類似於刪除重複元素,略
206反轉鍊錶
絕活
listnode*
reverselist
(listnode* head)
return head;
}
234回文鍊錶
使用快慢指標找到鍊錶中點,reverse 逆序後半部分,從頭、中點開始比較是否相同。
**略237刪除表中節點
略1290二進位製煉表轉整數
學習了一種新的二進位制轉換方法
int
getdecimalvalue
(listnode* head)
return num;
}
LeetCode鍊錶簡單題
一 21合併兩個有序鍊錶 如下 class solution def mergetwolists self,l1 listnode,l2 listnode listnode 首先對特殊情況進行處理,l1 l2 為空的時候 ifnot l1 and l2 這個表示式的意思只要l1 l2 不全為真就符合...
leetcode 簡單 206 反轉鍊錶
題目 思路1 雙指標 1 cur.next指向pre,tmp暫存cur.next 2 pre和cur前進一格,注意 不能讓pre head,這樣還要判斷pre.next存在不 definition for singly linked list.class listnode def init self...
LeetCode 簡單 鍊錶 141 環形鍊錶
給定乙個鍊錶,判斷鍊錶中是否有環。如果鍊錶中有某個節點,可以通過連續跟蹤 next 指標再次到達,則鍊錶中存在環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。注意 pos 不作為引數進行傳遞,僅僅是為了標識...