Convert a non-negative integer num to its English words representation. Example 1: Input: num = 123 Output: "One Hundred Twenty Three" Example 2: Input: num = 12345 Output: "Twelve Thousand Three Hundred Forty Five" Example 3: Input: num = 1234567 Output: "One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven"
public String numberToWords(int num) { if (num == 0) return "Zero"; String res = ""; String[] units = new String[]{"", "Thousand", "Million", "Billion"}; int i = 0; while (num > 0) { if (num % 1000 != 0) { res = helper(num % 1000) + units[i] + " " + res; } num /= 1000; i++; } return res.trim(); } private final String[] lessThan20 = new String[]{"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; private final String[] tens = new String[]{"", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty",