将非负整数转换为其对应的英文表示。可以保证给定输入小于 231 - 1 。

示例 1:

输入: 123
输出: “One Hundred Twenty Three”
示例 2:

输入: 12345
输出: “Twelve Thousand Three Hundred Forty Five”
示例 3:

输入: 1234567
输出: “One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven”
示例 4:

输入: 1234567891
输出: “One Billion Two Hundred Thirty Four Million Five Hundred Sixty Seven Thousand Eight Hundred Ninety One”
读法就是仿效123,456,789每次三个数这样的读。我们一开始将可能用到的所有的单词都存储起来。而且这道题目不需要and了。这样就简单很多了。注意要处理“000”这样的时候。
代码如下:

class Solution {private:string units[11] = {""," Thousand"," Million"," Billion"};string num0To9[11] = {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};string num10To19[11] = {"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"};string num10To90[11] = {"Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};public:string fcs(int num){if(num==0) return "";else if(num>=1&&num<=9) return num0To9[num];else if(num>=10&&num<=19) return num10To19[num-10];else if(num>=20&&num<=99){if(num%10==0) return num10To90[num/10-1];else return num10To90[num/10-1]+" "+num0To9[num%10];}else{//三位数的情况string ans="";if(num%100==0) return num0To9[num/100]+" Hundred";else return num0To9[num/100]+" Hundred "+fcs(num%100);}}string numberToWords(int num) {if(num==0) return "Zero";else if(num>=1&&num<=9) return num0To9[num];else if(num>=10&&num<=19) return num10To19[num-10];else{string ans="";int cnt=0;while(num){string ss=units[cnt];string temp=fcs(num%1000);if(temp=="") ss="";//num%1000==0的情况else temp=temp+ss;if(ans.length()!=0&&num%1000!=0) ans=temp+" "+ans;//对于空格的处理,一开始的时候是不需要空格的,另外就是“000”的时候是不需要空格的。else ans=temp+ans;num=(num-num%1000)/1000;//处理前三位cnt++;}return ans;}}
};//130264790

努力加油a啊,(o)/~

273. 整数转换英文表示(模拟)相关推荐

  1. leetcode 273. 整数转换英文表示[困难]

    整数转换英文表示 将非负整数 num 转换为其对应的英文表示. 示例 1: 输入:num = 123 输出:"One Hundred Twenty Three" 示例 2: 输入: ...

  2. Leetcode 273.整数转换英文表示

    整数转换英文表示 将非负整数转换为其对应的英文表示.可以保证给定输入小于 231 - 1 . 示例 1: 输入: 123 输出: "One Hundred Twenty Three" ...

  3. LeetCode 273. 整数转换英文表示

    1. 题目 将非负整数转换为其对应的英文表示.可以保证给定输入小于 231 - 1 . 示例 1: 输入: 123 输出: "One Hundred Twenty Three"示例 ...

  4. 每日一题 11.9 整数转换英文表示

    每日一题 11.9 整数转换英文表示 一.题目概述 这个题是困难的题,第一眼看到这个题还是比较怕的,但是看了一下具体的内容,感觉还好,但是我有点弄不明白的是,英文里最大计数单位是多少,有没有比tril ...

  5. LeetCode-Python-273. 整数转换英文表示

    将非负整数转换为其对应的英文表示.可以保证给定输入小于 231 - 1 . 示例 1: 输入: 123 输出: "One Hundred Twenty Three" 示例 2: 输 ...

  6. 273 Integer to English Words 整数转换英文表示

    将非负整数转换为其对应的英文表示,给定的输入是保证小于 231 - 1 的. 示例: 123 -> "One Hundred Twenty Three" 12345 -> ...

  7. LeetCode 整数转换英文表示(递归)

    将非负整数转换为其对应的英文表示.可以保证给定输入小于 231 - 1 . 示例 1: 输入: 123 输出: "One Hundred Twenty Three" 示例 2: 输 ...

  8. 二进制与十进制的整数转换

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.进制是什么? 二.常用进制 1.十进制 2.二进制 三.进制转换 1.二进转十进制 2.十进制转二进制 总结 前言 ...

  9. c语言中浮点数和整数转换_C中的数据类型-整数,浮点数和空隙说明

    c语言中浮点数和整数转换 C中的数据类型 (Data Types in C) There are several different ways to store data in C, and they ...

最新文章

  1. Sqlite3支持的数据类型 日期函数 Sqlite3 函数
  2. 面试题:mysql 数据类型
  3. [Django学习]第三章 视图和url配置
  4. 2017/05/07 java 基础 随笔
  5. Python基础数据类型之字符串(一)
  6. poj 3077Rounders(模拟)
  7. GCD简介三:Dispatch Sources
  8. python输出玫瑰花_如何用python画玫瑰花
  9. 了解SQL Server中NOLOCK和WITH NOLOCK表提示的影响
  10. use IE7 agent on safari 13
  11. C# 在PPT幻灯片中创建图表
  12. IT行业毕业生投简历或面试技巧
  13. echarts中国以及各省市地图数据
  14. excel合并两列内容_WPS-excel简单将几个单元格的内容合并到一起
  15. 《解读基金》 基金中统计指标含义-平均回报、标准差、夏普比率、阿尔法系数、贝塔系数、R平方
  16. Data truncation: Incorrect date value: '\xAC\xED\x00\x05sr\x00\x0Djava.time.Ser\x95]\x84\xBA\x1BH\
  17. 【附源码】计算机毕业设计SSM小微企业ERP软件物料需求模块设计
  18. 利用冒泡法对10个数字进行排序
  19. 5月6日LCAC第十三次会议重要信息摘取
  20. CCRC信息安全服务资质申请流程详解

热门文章

  1. 联想台式机网卡驱动_【装机帮扶站】第339期:联想刃7000:是否还有选购价值?4000价位装机推荐...
  2. 一个mapper接口有多个mapper.xml 文件_爱了!分享一个基于Spring Boot的API、RESTful API项目种子(骨架)!...
  3. pip /usr/bin/pip: No such file or directory
  4. tomcat jar包编译后变成文件夹_tomcat学习|tomcat中的类加载器
  5. python和php互动_PHP中常见的五种设计模式
  6. springboot扫描组件_springboot多模块包扫描问题的解决方法
  7. java网页快照_java网页快照-网页转存为图片
  8. Android中Log日志的管理之log工具类
  9. git生成秘钥配置SSH公钥的简单方法
  10. iOS coredata 多表查询