john sokpo

Generation

generate functionThu, 06 Jul 2023

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 { public String numberToWords(int num) { if(num == 0) return "Zero"; String[] units = new String[] {"", "Thousand", "Million", "Billion"}; StringBuilder sb = new StringBuilder(); int i = -1; while(num > 0) { if(num % 1000 != 0) { StringBuilder tmp = new StringBuilder(); helper(num % 1000, tmp); tmp.append(units[++i]); sb.insert(0, tmp.toString()); } num /= 1000; } return sb.toString().trim(); } private void helper(int num, StringBuilder sb) { String[] lessThan20 = new String[] {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "

Want to kickstart your project?Use the new AI Studio to create your code