原创 168Excel表列名稱(數學)

1、題目描述 給定一個正整數,返回它在 Excel 表中相對應的列名稱。 例如,     1 -> A     2 -> B     3 -> C     ...     26 -> Z     27 -> AA     28 -> AB

原创 173二叉搜索樹迭代器(棧)

1、題目描述 實現一個二叉搜索樹迭代器。你將使用二叉搜索樹的根節點初始化迭代器。 調用 next() 將返回二叉搜索樹中的下一個最小的數。 提示: next() 和 hasNext() 操作的時間複雜度是 O(1),並使用 O(h) 內存

原创 199二叉樹的右視圖(深度優先搜索、廣度優先搜索)

1、題目描述 給定一棵二叉樹,想象自己站在它的右側,按照從頂部到底部的順序,返回從右側所能看到的節點值。 2、示例 輸入: [1,2,3,null,5,null,4] 輸出: [1, 3, 4] 解釋:    1            <

原创 203移除鏈表元素(單鏈表基本操作)

1、題目描述 刪除鏈表中等於給定值 val 的所有節點。 2、示例 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 3、題解 基本思想:單鏈表基本操作,記得刪除等於val節點內存空間

原创 166分數到小數(HashMap)

1、題目描述 給定兩個整數,分別表示分數的分子 numerator 和分母 denominator,以字符串形式返回小數。 如果小數部分爲循環小數,則將循環的部分括在括號內。 2、示例 輸入: numerator = 2, denomin

原创 174地下城遊戲(動態規劃——困難)

1、題目描述 一些惡魔抓住了公主(P)並將她關在了地下城的右下角。地下城是由 M x N 個房間組成的二維網格。我們英勇的騎士(K)最初被安置在左上角的房間裏,他必須穿過地下城並通過對抗惡魔來拯救公主。 騎士的初始健康點數爲一個正整數。如

原创 190顛倒二進制位(位運算+分治思想)

1、題目描述 顛倒給定的 32 位無符號整數的二進制位。 2、示例 輸入: 00000010100101000001111010011100 輸出: 00111001011110000010100101000000 解釋: 輸入的二進制串

原创 169多數元素(摩爾投票法、哈希表)

1、題目描述 給定一個大小爲 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。 你可以假設數組是非空的,並且給定的數組總是存在多數元素。 2、示例 輸入: [2,2,1,1,1,2,2] 輸出:

原创 212單詞搜索 II(前綴樹+深度優先搜索遞歸回溯——困難)

1、題目描述 給定一個二維網格 board 和一個字典中的單詞列表 words,找出所有同時在二維網格和字典中出現的單詞。 單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中“相鄰”單元格是那些水平相鄰或垂直相鄰的單元格。同一個單元

原创 167兩數之和 II - 輸入有序數組(雙指針)

1、題目描述 給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。 函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 in

原创 165比較版本號(istrigstream、雙指針、額外O(n)空間)

1、題目描述 比較兩個版本號 version1 和 version2。 如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。 你可以假設版本字符串非空,並且

原创 202快樂數(快慢指針、哈希表)

1、題目描述 編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」定義爲:對於一個正整數,每一次將該數替換爲它每個位置上的數字的平方和,然後重複這個過程直到這個數變爲 1,也可能是 無限循環 但始終變不到 1。如果 可以變爲  1,那

原创 210課程表 II(拓撲排序廣度優先搜索、深度優先搜索——困難)

1、題目描述 現在你總共有 n 門課需要選,記爲 0 到 n-1。 在選修某些課程之前需要一些先修課程。 例如,想要學習課程 0 ,你需要先完成課程 1 ,我們用一個匹配來表示他們: [0,1] 給定課程總量以及它們的先決條件,返回你爲了

原创 209長度最小的子數組(滑動窗口、二分查找)

1、題目描述 給定一個含有 n 個正整數的數組和一個正整數 s ,找出該數組中滿足其和 ≥ s 的長度最小的連續子數組,並返回其長度。如果不存在符合條件的連續子數組,返回 0。 進階:如果你已經完成了O(n) 時間複雜度的解法, 請嘗試 

原创 179最大數(排序、暴力)

1、題目描述 給定一組非負整數,重新排列它們的順序使之組成一個最大的整數。 2、示例 輸入: [3,30,34,5,9] 輸出: 9534330 3、題解 解法一: 基本思想:排序,將先將nums中數字轉爲字符串保存到ans,然後對ans