leetcode習題集 65 有效數字

2021-09-20 21:19:43 字數 2019 閱讀 5441

驗證給定的字串是否可以解釋為十進位制數字。

例如:"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

說明: 我們有意將問題陳述地比較模糊。在實現**之前,你應當事先思考所有可能的情況。這裡給出乙份可能存在於有效十進位制數字中的字元列表:

數字 0-9

指數 - 「e」

正/負號 - 「+」/"-"

小數點 - 「.」

當然,在輸入中,這些字元的上下文也很重要。

public

class

p65_valid_number

boolean canfinish =

false

;boolean hasnum =

false

;int state =0;

for(

int i =

0;ilength()

;i++

)else

if(i==

0&&st.

charat

(i)>=

'0'&&st.

charat

(i)<=

'9')

else

if(st.

charat

(i)==

'.')

else

}//監測整數字

if(state ==1)

else

if(st.

charat

(i)==

'.')

else

if(st.

charat

(i)==

'e')

else

}//監測小數字

if(state ==2)

else

if(st.

charat

(i)==

'e')

else

}//監測指數符號位

if(state ==3)

else

if(st.

charat

(i)>=

'0'&&st.

charat

(i)<=

'9')

else

}//監測指數字

if(state ==4)

else}}

if(canfinish&&hasnum)

return

true

;else

return

false;}

}

思路:利用狀態機的思想來解決

public

class

p65_valid_number2

}

思路:直接使用正規表示式匹配

leetcode習題集 36 有效的數獨

判斷乙個9x9的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字1 9在每一行只能出現一次。數字1 9在每一列只能出現一次。數字1 9在每乙個以粗實線分隔的3x3宮內只能出現一次。上圖是乙個部分填充的有效的數獨。數獨部分空格內已填入了數字,空白格用 表示。示例 1 輸入 5 3...

Leetcode習題集 鍊錶

這裡記錄一些我刷題的思路方便之後進行複習重溫,同時也方便進行新增 p141 環形鍊錶 class solution listnode reverse listnode head return pre 使用翻轉鍊錶,判斷返回的指標與傳進的指標是否相同,時間複雜度是o n 可能 空間複雜度是o 1 cl...

leetcode習題集 54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...