Leetcode Q13: Roman to Integer
来源:互联网 发布:泰捷webox网络机顶盒 编辑:程序博客网 时间:2024/06/10 08:11
题目13:
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
int StrLen(char* s){ int l = 0; while (*s++ != 0) { l++; } return l;}int romanToInt(char* s) { int res = 0; int i = 3; char left = 0; char mid = 0; char right = 0; int mul = 0; int len = StrLen(s); /* 千位 */ if (*s == 'M') { while (*s == 'M') { res += 1000; s++; } } /* 查找百位、十位和个位 */ while (i) { switch (i) { case 3: left = 'C'; mid = 'D'; right = 'M'; mul = 100; break; case 2: left = 'X'; mid = 'L'; right = 'C'; mul = 10; break; case 1: left = 'I'; mid = 'V'; right = 'X'; mul = 1; break; default: break; } if (*s == left) { if (*(s+1) == mid) { /* 4 */ res += 4 * mul; s += 2; } else { if (*(s+1) == right) { /* 9 */ res += 9 * mul; s += 2; } else { /* 1、2、3 */ res += mul; s++; while (*s == left) { res += mul; s++; } } } } else { if (*s == mid) { /* 5 */ res += 5 * mul; s++; /* 6、7、8*/ while (*(s) == left) { res += mul; s++; } } } i--; } return res;}
0 0
- Leetcode Q13: Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- LeetCode Integer to Roman & Roman to Integer
- leetcode - roman to integer & integer to roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- LeetCode: Integer to Roman
- LeetCode : Roman to Integer
- [Leetcode] Roman to Integer
- [Leetcode] Integer to Roman
- Leetcode: Integer to Roman
- Leetcode: Roman to Integer
- LeetCode Integer to Roman
- 网址记录
- [数据结构] Set的基本用法
- 主程序做死循环,导致计时功能失效
- PHP Socket通信编程
- Eclipse 快捷键
- Leetcode Q13: Roman to Integer
- UI02_UIButton
- 数列有序! SDUT 1244
- Linux Deepin 2014 cpu温度与频率设定
- 使用Heroku搭建Django应用
- python 列表生成式
- java常用方法(精)
- Linux下搭建nodejs + npm + express环境
- solr5.0 搭建教程