這題第一眼看到的時候,便想到之前在學習資料結構的知識。在這題中,我分別嘗試了遞迴與迴圈迭代兩種方法來解題。遞迴的方式,在邏輯上較為簡潔,容易理解為「每次挑出較小...
在這次練習 時,我深入了解了如何透過快慢指針來判斷一個單向鏈結串列是否存在環。在實作與提交過程中,我遇到了一個讓我印象深刻的錯誤。一開始,我參考一般 Java...
一開始看到題目時我覺得不難,但思考了一下發現,如果只用一個普通的棧,要取得最小值就得遍歷整個棧,這樣時間複雜度是 O(n),不符合題目要求的 O(1)。使用一個...
當我在練習 LeetCode 第 704 題(二分查找法)時,深刻體會到這種演算法的高效率與實用性。二分查找(Binary Search)透過每次將搜尋範圍折半...
當我在練習 LeetCode 第 278 題(First Bad Version)時,起初對於isBadVersion(mid)這個方法感到困惑,不清楚它是從哪...
Reverse Linked List,這題讓我真正理解到鏈結串列的指標操作。剛開始接觸時會對「反轉指標方向」感到抽象,但實際上使用三個指標變數(前一個、當前...
這題是要找出二元樹的最大深度,我使用的是遞迴的方式來解。程式的想法很簡單:如果節點是空的,就回傳 0;如果不是,就去算左子樹和右子樹的深度,然後取兩者中較大的那...