Skip to content

Commit 0c56734

Browse files
committed
Integer to English Words
1 parent d209927 commit 0c56734

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

Diff for: README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[LeetCode solutions](http://maskray.me/blog/2014-06-29-leetcode-solutions) gives some thoughts on selected problems.
44

5-
Solved 222/251 problems.
5+
Solved 224/256 problems.
66

77
## Database
88

@@ -12,9 +12,11 @@ See [database.md](database.md)
1212

1313
| # | Title | Solution |
1414
|---| ----- | -------- |
15+
|273|[Integer to English Words](/problems/integer-to-english-words/)|[integer-to-english-words.cc](integer-to-english-words.cc)|
1516
|268|[Missing Number](/problems/missing-number/)|[missing-number.cc](missing-number.cc)|
1617
|264|[Ugly Number II](/problems/ugly-number-ii/)|[ugly-number-ii.cc](ugly-number-ii.cc)|
1718
|263|[Ugly Number](/problems/ugly-number/)|[ugly-number.cc](ugly-number.cc)|
19+
|260|[Single Number III](/problems/single-number-iii/)|[single-number-iii.cc](single-number-iii.cc)|
1820
|258|[Add Digits](/problems/add-digits/)|[add-digits.cc](add-digits.cc)|
1921
|257|[Binary Tree Paths](/problems/binary-tree-paths/)|[binary-tree-paths.cc](binary-tree-paths.cc)|
2022
|242|[Valid Anagram](/problems/valid-anagram/)|[valid-anagram.cc](valid-anagram.cc)|

Diff for: integer-to-english-words.cc

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Integer to English Words
2+
class Solution
3+
{
4+
string f(int x, int i, int v[], string n[]) {
5+
if (! x) return "";
6+
for (; x < v[i]; i++);
7+
return (i < 4 ? f(x/v[i], i+1, v, n) : "") + n[i] + " " + f(x%v[i], i+1, v, n);
8+
}
9+
public:
10+
string numberToWords(int x) {
11+
if (! x) return "Zero";
12+
int v[] = {1000000000,1000000,1000,100,
13+
90,80,70,60,50,40,30,20,
14+
19,18,17,16,15,14,13,12,11,10,
15+
9,8,7,6,5,4,3,2,1};
16+
string n[] = {"Billion","Million","Thousand","Hundred",
17+
"Ninety","Eighty","Seventy","Sixty","Fifty","Forty","Thirty","Twenty",
18+
"Nineteen","Eighteen","Seventeen","Sixteen","Fifteen","Fourteen","Thirteen","Twelve","Eleven","Ten",
19+
"Nine","Eight","Seven","Six","Five","Four","Three","Two","One"};
20+
string r = f(x, 0, v, n);
21+
r.pop_back();
22+
return r;
23+
}
24+
};

0 commit comments

Comments
 (0)