Leetcode 記錄 不會解的題
記錄我不解不出來的題
NO.1 奇偶連結串列
問題描述
連結串列基礎
連結串列和陣列的區別在於:連結串列沒有索引,但是(1)連結串列可以很快找到下一塊,(2)連結串列在記憶體中可以不連續儲存
簡單的連結串列元素順序更換
目的是為了更換3,4. p0指向2,p1指向3.p3指向4.交換3,4的時候使用下面步驟:
1.p1.next指向5 ,
2. p2.next指向3
3. p0的next指向4
實戰程式碼
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def oddEvenList(self, head: ListNode) -> ListNode:
f_p1 = None
pointer1 = head
pointer2 = head
counter = 1
if head == None or head.next == None: # 特殊情況
return head
while pointer1.next != None: # 找到最後就不找了
f_p1 = pointer1
pointer1 = pointer1.next
counter += 1
if counter % 2 == 1 and counter > 1: # 開始移動
f_p1.next = pointer1.next
pointer1.next = pointer2.next
pointer2.next = pointer1
pointer2 = pointer2.next # pointer2往後移動一格
f_p1, pointer1 = pointer1, f_p1 # 順序變了我們重新糾正過來。
# 下面這段程式碼可以幫助檢視所有的步驟過程。
# str1 = ""
# test = head
# while test != None:
# str1 += "->" + str(test.val)
# test = test.next
# print(str1, "| f_p1:", f_p1.val, "| p1:", pointer1.val, "| p2:", pointer2.val, "| counter:", counter)
return head
相關文章
- LeetCode解題記錄(雙指標專題)LeetCode指標
- leetCode解題記錄1 - 兩數之和LeetCode
- LeetCode刷題記錄與題解(C++版本)LeetCodeC++
- LeetCode刷題記錄LeetCode
- 記錄@EnumValue註解不生效的問題
- leetcode刷題記錄 661~LeetCode
- LeetCode解題記錄(貪心演算法)(二)LeetCode演算法
- LeetCode解題記錄(貪心演算法)(一)LeetCode演算法
- LeetCode刷題記錄——day5LeetCode
- LeetCode刷題記錄——day4LeetCode
- LeetCode刷題記錄——day3LeetCode
- LeetCode刷題記錄——day2LeetCode
- LeetCode刷題記錄——day1LeetCode
- leetcode題解記錄-752開啟轉盤鎖(python3)LeetCodePython
- Leetcode日常記錄:NO.226 反轉二叉樹題解LeetCode二叉樹
- 2024-03-08 leetcode寫題記錄LeetCode
- 2024-03-15 leetcode寫題記錄LeetCode
- 2024-03-14 leetcode寫題記錄LeetCode
- LeetCode-劍指Offer刷題記錄LeetCode
- leetcode每日一題刷題記錄(10.26-10.30)LeetCode每日一題
- 刷題記錄:劍指offer+遇到的筆試題+LeetCode筆試LeetCode
- leetcode刷題記錄1041-1050 python版LeetCodePython
- LeetCode - 解題筆記 - 12 - Integer to RomanLeetCode筆記
- LeetCode - 解題筆記 - 8 - Palindrome NumberLeetCode筆記
- LeetCode - 解題筆記 - 7 - Reverse IntegerLeetCode筆記
- oracle awr快照點不記錄問題Oracle
- LeetCode 刷題記錄(16、17、18)—Java語言LeetCodeJava
- Python leetcode tree記錄PythonLeetCode
- 小白的LeetCode日記記錄Day3LeetCode
- leetcode刷題記錄:演算法(六)BFS&DFSLeetCode演算法
- LeetCode每日一題: 學生出勤記錄 I(No.551)LeetCode每日一題
- AS Notes|記錄日常開發遇到的 AS 問題(不斷更新。。。
- chrome 歷史記錄 404的url地址 不會記錄 但是實際上可能有內容的Chrome
- LeetCode - 解題筆記 - 10- Regular Expression MatchingLeetCode筆記Express
- 記錄一次詭異的拼接sql不生效問題SQL
- mysql5 7配置不生效解決記錄MySql
- [leetcode 題解] 849LeetCode
- Leetcode 全套題解LeetCode