[LeetCode] Roman to Integer

原创 2015年11月20日 14:55:34

问题

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

Subscribe to see which companies asked this question


思路

罗马数字的构造方式上一篇博客里面有提到,按照这个逻辑组织代码即可。


代码

public class Solution {
    public int romanToInt(String s) {
        int ret = charToNum(s.charAt(0));

        for (int i = 1; i < s.length(); i++) {  
            if (charToNum(s.charAt(i-1)) < charToNum(s.charAt(i)))
                ret += charToNum(s.charAt(i)) - 2*charToNum(s.charAt(i-1));  
            else
                ret += charToNum(s.charAt(i));  
        }  
        return ret;  
    }
    
    public int charToNum (char c) {  
        switch(c) {  
            case 'I': return 1;   
            case 'V': return 5;  
            case 'X': return 10;  
            case 'L': return 50;  
            case 'C': return 100;  
            case 'D': return 500;  
            case 'M': return 1000;  
            default: return 0;  
        }  
    } 
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

[leetcode 13] Roman to Integer

题目: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the ra...

[leetcode]详解Integer to Roman

Integer to RomanRoman与Integer的转换规则?From Wikipedia 现在用的罗马数字由7个字符表示,如下表: 字符 值 I 1 V 5 X...
  • CY_TEC
  • CY_TEC
  • 2016年06月15日 12:01
  • 449

Leetcode:integer_to_roman

将给定的数字(阿拉伯数字)转化成罗马数字。数字不会大于3999

【LeetCode with Python】 Integer to Roman

Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 ...
  • nerv3x3
  • nerv3x3
  • 2014年07月06日 15:01
  • 3513

LeetCode_Easy心得:13. Roman to Integer (C语言)

13. Roman to Integer
  • hhhhhyb
  • hhhhhyb
  • 2017年07月21日 18:59
  • 141

[LeetCode]Roman to Integer

题目是把罗马数字转成整形返回,其实对罗马数字只知道I 到X, 特意去维基百科查了下。发现了如下几条规则: 羅馬數字共有7個,即I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和...
  • jhbxlx
  • jhbxlx
  • 2014年01月26日 14:40
  • 547

LeetCode之12---Integer to Roman

题目:   Given an integer, convert it to a roman numeral.   Input is guaranteed to be within the rang...

[LeetCode]12. Integer to Roman(整数转化为罗马数字)

12. Integer to Roman点击查看相关题 罗马数字转化为整数 Given an integer, convert it to a roman numeral. Input is gu...

leetcode第一刷_Integer to Roman

这道题当时不会写,是参照discuss写的。 首先要弄明白罗马数字的规则,这个在国外难道是常识吗,为什么题干一点都没讲。。 4000以下一共有下面几种符号:"M", "D", "C", "L", ...

【leetcode c++】13 Roman to Integer

题目 Given a roman numeral, convert it to aninteger. Input is guaranteed to be within the rangefrom 1 ...
  • hqq39
  • hqq39
  • 2015年06月12日 12:36
  • 487
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[LeetCode] Roman to Integer
举报原因:
原因补充:

(最多只允许输入30个字)