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"
class Solution { String[] numbers = {"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}; String[] tens = {"","","Twenty","Thirty","Fourty","Fifty","Sixty","Seventy","Eighty","Ninety"}; String[] thousands = {"","Thousand","Million","Billion"}; public String numberToWords(int num) { if(num == 0) return "Zero"; String res = ""; int count = 0; while(num > 0 ){ if(num % 1000 != 0){ res = helper(num % 1000) + thousands[count] + " " + res; } num = num / 1000; count++; } return res.trim(); } String helper(int num){ if(num == 0) return ""; if(