給定乙個整數,將其轉為羅馬數字。輸入確保在 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...