小白的LeetCode日記記錄Day3

2021-10-13 13:09:13 字數 2183 閱讀 7513

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。

返回刪除後的鍊錶的頭節點。

解法:首先考慮特殊情況,如果頭結點為要刪除的值就直接返回頭結點下乙個節點。否則建立兩個指標,pre和cur,pre代表當前節點的上乙個節點,cur代表當前節點。之後運用迴圈找到該節點,刪除該節點

pre.next = cur.next

最後返回頭結點

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

if(cur!=null)

return head;

}}

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。

解法:準備兩個指標left和right,left在最左邊,right在最右邊,left從左往右找到偶數停下,right從右往左找到奇數停下,之後進行交換,迴圈此過程最後輸出陣列。

class

solution

while

(left==0

) temp = nums[left]

; nums[left]

= nums[right]

; nums[right]

= temp;

}return nums;

}

輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是倒數第1個節點。例如,乙個鍊錶有6個節點,從頭節點開始,它們的值依次是1、2、3、4、5、6。這個鍊錶的倒數第3個節點是值為4的節點。

解法:同樣是準備兩個指標first和last,第乙個指標先走k步,然後兩個指標同時往後走,當first抵達終點時停止,之後返回last指標。

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

while

(first!=null)

return last;

}}

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。

解法:準備兩個指標cur和pre,cur指向頭結點,pre指向空。當遍歷鍊錶時,首先準備乙個temp節點儲存cur節點的下乙個節點,然後用pre指向cur節點的next節點來斷開鍊錶,之後把cur節點指向pre連線鍊錶,最後把temp(也就是cur的next節點)指向cur,迴圈結束返回pre節點。

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

return pre;

}}

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。

解法:利用輔助節點dum。把dum設定為頭結點(0),然後用乙個指標cur指向dum,之後遍歷這兩個鍊錶l1和l2,當兩個鍊錶都不為空時,比較l1和l2的值,將小的值指向cur的下一節點,然後該鍊錶(l1/l2)指向下乙個節點,之後將cur的下一節點指向cur。當兩個鍊錶只剩最後乙個節點時會出現兩種狀況,l1為空或者l2為空,這時進行判斷,如果l1不為空就把l1賦給cur.next,否則就把l2賦給cur.next。最後返回dum的下一節點即可。

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

else

cur = cur.next;

} cur.next=

(l1!=null)

?l1:l2;

return dum.next;

}}

小白的Python日記 前言

寫在前面的話 作為乙個風電行業從業者,程式設計的經驗來說,大學時用過c 對ug nx做二次開發,研究生時用過c與matlab編制動作控制模組。工作之後,恰逢製造業數位化轉型之際,正式開始接觸到python。原本自學python是出於好奇,因為需要時刻關注競爭對手的最新動態,因此需要時常去 搜尋相關的...

爬蟲小白自學日記

前言 本人剛畢業不到一年的工科生,經歷只停留在大一上c語言的經歷 基本等於0 從接觸python到實現自己的需求花了5個月的時間,因為大部分遇到的問題都是在csdn上找到的,所以想寫一篇總結,回顧一下這幾個月的經歷和分享一些心得,讓在剛開始學習python的人有一些參考。1.需 求 由於每個月都要從...

小白日記1

核心交換機10.1.0.254 1 可以先檢視對方的子網掩碼 預設閘道器以及dns是否設定正確 1 子網掩碼和預設閘道器需要根據vlan和網段的對應文件進行查詢 通過ip位址所在網段快捷鍵ctrl f查詢 ip address 10.1.11.62 255.255.255.192 ip位址為62之前...