一 leetcode 簡單題 4

2021-10-08 22:57:35 字數 1398 閱讀 8711

69. 計算並返回 x 的平方根,其中 x 是非負整數。

6分鐘寫完,但對於**不是很滿意,因為這裡要考慮乙個溢位的問題,所以**感覺有點醜。

int mysqrt(int x)

return 0;

}

int mysqrt(int x)

return min;

}

77. 假設你正在爬樓梯。需要 n 階你才能到達樓頂。

11分鐘寫完。這題分析完之後,剛好就是兔子數列,一開始使用遞迴,但是到45的時候已經超時了。後面使用了相當基礎的技巧:兔子數列中,用迴圈來取代遞迴,可以使得時間節省非常非常多。這裡要注意乙個小小的邊界條件,prepre的賦值要在pre之前,否則pre裡面的數值會被覆蓋。

int climbstairs(int n)

return now;

}

83.給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。

4分鐘寫完,這是因為在《王道+嚴書》專欄裡面也有過這樣的題目,所以寫的很快。

struct listnode* deleteduplicates(struct listnode* head)

return head;

}

88. 合併兩個有序陣列

16分鐘寫完,實際上10分鐘左右就已經寫完了。我實在是不同這兩個numsize是用來幹啥的,靠,我之前已知以為兩個numsize是n或者m,所以在此耽誤了時間。另外,我使用從後往前的方法,比最壞的時間還是要優秀一些。此外,這道題我使用了經典的合併方法,先用乙個while處理兩個哨兵均大於等於0的情況,再用另乙個while除了剩下的還沒有處理的那些

void merge(int* nums1, int nums1size, int m, int* nums2, int nums2size, int n)

while(walk2 >= 0)

nums1[walknew--] = nums2[walk2--];

}

100. 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。

樹作為一種遞迴結構,許多題都可以考慮遞迴的思想。這裡我們同樣使用了遞迴的思想,3分半就寫完了。

/**

* definition for a binary tree node.

* struct treenode ;

*/bool issametree(struct treenode* p, struct treenode* q)

一 leetcode 簡單題 2

21.將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。一次ac,13分鐘寫完,中途接了一次中國聯通推廣 思路簡單 struct listnode mergetwolists struct listnode l1,struct listnode l2...

leetcode簡單題第一題python3

題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1...

LeetCode題庫 簡單題

leetcode 題目鏈結 反轉一半 負數不可能是回文 個位數一定是回文 0是回文 問題 如何反轉一半的數字 演算法例項 bool ispalindrome int x if x 10 x為個位數 一定是回文 return1 int revernum 0 while x revernum retur...