劍指offer 22 表示數值得字串

2021-09-20 18:47:27 字數 528 閱讀 1526

實現乙個函式用來判斷字串是否是表示數值,其中包含整數和小數

表示數值的字串遵循模式a[.[b]][e|ec]或者.b[e|ec],其中a為數值的整數部分,b緊跟著小數點為數值的小數部分,c緊跟著』e』或『e』為數值的指數部分。乙個數可以沒有整數部分,但是不能沒有小數部分。

對於乙個字串,從頭開始掃瞄,首先掃瞄表示數字的整數部分,如果遇到小數點』.』,則開始掃瞄整個數的小數部分b。如果遇到』e』或『e』,則開始掃瞄整個數值的指數部分c。

**如下:

#include#include#includebool   scanunsignedinteger(char **str)

bool scaninteger(char **str)

bool isnumber(char *str)

//如果出現e或e,則判斷指數部分

if (*str == 'e' || *str == 'e')

return number1&&*str == '\0';

}

劍指Offer22 出棧序列判定問題

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等,例如序列1 2 3 4 5是某棧的壓入棧序列,序列4 5 3 2 1是該壓棧序列對應的乙個彈出序列,但是4 3 5 1 2就不可能是該壓棧序列的彈出序列了。建立輔助棧,把輸入的第乙個序列...

劍指offer 22 棧的壓入 彈出序列

題目 輸入兩個整型陣列,判斷第二個是不是第乙個的棧輸出序列 解法 使用佇列完成,輸出傳入棧中再輸出 public class main new int private static boolean isseq int input,int output stacks new stack 建立棧,模擬實...

劍指offer 22 棧的壓入彈出序列

輸入兩個整數序列,第乙個表示壓棧順序,判斷第二個序列是否為該棧的彈出序列?分析 include include include using namespace std class solution 棧頂不等於彈出序列頂,則跳出 if s.top pnextpop break 彈棧,第乙個序列匹配 s...