有效數字
利用狀態機來解題
驗證給定的字串是否可以解釋為十進位制數字。
例如:「0」 => true
" 0.1 " => true
「abc」 => false
「1 a」 => false
「2e10」 => true
" -90e3 " => true
" 1e" => false
「e3」 => false
" 6e-1" => true
" 99e2.5 " => false
「53.5e93」 => true
" --6 " => false
「-+3」 => false
「95a54e53」 => false
先列舉所有有效數字型別,
第一類,沒有指數的整數,分為下面兩種:
序號型別
舉例1-1整數1
1-2正負符號加整數
+1,-1
第二類,沒有指數的小數,分為下面六種
序號型別
舉例2-1
普通小數
1.1
2-2小數點後面沒有數字
1.
2-3小數點前面沒有數字
.1
2-4正負符號加普通小數
-1.1
2-5正負符號加小數點後面沒有數字
-1.
2-6正負符號加小數點前面沒有數字
-.1
第三類,帶指數的數字,分為下面兩種
序號型別
舉例3-1
整數/小數e整數
1.1e100
3-2整數/小數e+/-整數
100e-100
補充,如果前後有空格,中間的數字有效則認為有效。
上述的所有可能用狀態機表示如下:
leetcode解題小記9 回文數
回文數判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從...
LeetCode解題方法之 空指標
203.remove linked list elements 1.這樣可以處理空鍊錶特殊情況,頭指標為要刪除的值的特殊情況 使用空指標p在這裡的好處在於,1.p儲存了頭結點,2.而最開始pre和p指向了同乙個節點物件,這樣如果首節點是空節點或等於val時,可以直接進行操作,因此首節點也可以當做普通...
LeetCode解題記錄(9) 回文數
解題方案 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。輸入 121 輸出 true 輸入 121 輸出 false 原因 121 121 題意很簡單,高階要求是不轉成字串來做,有點難度。這裡給出基於轉字串的方法和不轉字串的方法。都很好理解,不多做解釋。演算...