LeetCode 整數與字元的轉換問題

2021-10-02 09:37:29 字數 1802 閱讀 5950

給定乙個整數,將其轉為羅馬數字。輸入確保在 1 到 3999 的範圍內。

示例 :輸入: 3,輸出: 「iii」。

字元 數值:i 1,v 5,x 10,l 50,c 100,d 500,m 1000

class solution ;

string reps=;

string res;

for(int i=0; i<13; i++)

}return res;

}};

給定乙個羅馬數字,將其轉換成整數。輸入確保在 1 到 3999 的範圍內。

示例 : 輸入: 「iii」,輸出: 3

class solution ;

string reps = ;

int res=0;

int index = 0;

int i = 0;

while( i < 13&&index將非負整數轉換為其對應的英文表示。可以保證給定輸入小於 2^31 - 1 。

示例:輸入: 12345, 輸出: 「twelve thousand three hundred forty five」。

class solution ;

vectorvalues = ;

string numbertowords(int num) else if (num >= 20) else }}

return "";

}};

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。

示例 1: 輸入: num1 = 「2」, num2 = 「3」. 輸出: 「6」

class solution 

//去掉前導0

int i =0;

while

(i < n1 + n2 +

1&& mul[i]==0

) i++

;int index = i;

string multi=

string

(n1+n2+

2-i,

'0')

;for

(; i < n1 + n2 +

2; i++

) multi[i-index]

=(mul[i]

+'0');

return multi;}}

;

思路

1.功能測試

正數/複數/0
2.邊界值測試

最大的正整數/最小的負整數(資料上下溢位)
class solution 

;// 列舉元素(kvalid=0,kinvalid=1)

int g_nstatus = kvalid;

// 標記是否是非法輸入

/*功能函式*/

intstrtoint

(string str)

elseif(

*cstr ==

'+')

// 處理其餘位

while

(*cstr !=

'\0')}

else}if

(g_nstatus == kvalid)

num = num * minus;

} cout<<

(int

)num

(int

)num;}}

;

LeetCode 字串轉整數 atoi

實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的字元後面包...

leetcode 字串轉整數(atoi)

實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的字元後面包...

LeetCode 字串轉整數 atoi

這題說實話不是很難,但是需要考慮的情況比較多,需要多提交幾次才能悟出門道。1 判斷str長度 2 有小數點的話只取小數點之前一段 3 去掉空格後判斷第乙個字元是否是 數字,中的乙個 4 若第乙個字元為 則之後要為數字 5 越界問題,這個可以用異常來判斷 獻上,請多多指教 public int mya...