實現鍊錶逆序,空間複雜度為O(1)

2021-08-07 12:01:37 字數 594 閱讀 3130

乙個演算法的空間複雜度只考慮在執行過程中為區域性變數分配的儲存空間的大小,它包括為參數列中形參變數分配的儲存空間和為在函式體中定義的區域性變數分配的儲存空間兩個部分。

#include 

using namespace std;

struct linknode

;linknode* reverselink(linknode* head)

head->next = null;

return nowhead;

}void printlink(struct linknode* node)

printf("\n");

}void test()

; struct linknode l2 = ;

struct linknode l3 = ;

l1.next = &l2;

l2.next = &l3;

l3.next = null;

struct linknode* node = reverselink(&l1);

printlink(node);

}int main()

刪除鍊錶結點(時間複雜度為O 1 ))

題目 給定鍊錶的頭指標和乙個結點指標,在o 1 時間刪除該結點。鍊錶結點的定義如下 struct listnode 函式的宣告如下 void deletenode listnode plisthead,listnode ptobedeleted 分析 這是一道廣為流傳的google面試題,能有效考察...

最小棧O 1 空間複雜度實現

設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。常見的一道題目,很多解答都是兩個棧的做法,這裡提供一下o 1 空間複雜度的做法。使用兩個棧的原因是,我...

243 回文鍊錶(O(1)空間複雜度解法)

請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2輸出 false示例 2 輸入 1 2 2 1輸出 true高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?143.重排鍊錶 206.反轉鍊錶 876.鍊錶的中間結點 1.使用快慢指標找到鍊錶的中點,將鍊錶分成前後兩部分 2.將後...