string - 解决 LeetCode #13 罗马到整数问题(字符比较)
问题描述
这是问题链接:https ://leetcode.com/problems/roman-to-integer/
我一直在比较 s.charAt() 和罗马字符时遇到问题。我对 JAVA 很陌生。if(s.charAt(i) == 'I') 不应该工作吗?我看到了这个问题的其他解决方案,但解决方案倾向于制作一个字符并将字符串的字符放入该字符中。你能解释一下为什么我的比较不起作用吗?我真的很感谢你提前回答。
类解决方案{
public int romanToInt(String s) {
int i = 0;
int sum = 0;
for(i=0;i<s.length();i++)
{
if(s.charAt(i) == 'I')
{
if(s.charAt(i+1) == 'X') //4
{
i++;
sum += 4;
}
else if(s.charAt(i+1) == 'V') //9
{
i++;
sum += 9;
}
else
{
sum += 1;
}
}
else if(s.charAt(i) == 'V')
{
sum += 10;
}
else if(s.charAt(i) == 'X')
{
if(s.charAt(i+1) == 'L') //40
{
i++;
sum += 40;
}
else if(s.charAt(i+1) == 'C') //90
{
i++;
sum += 90;
}
else
{
sum += 10;
}
}
else if(s.charAt(i) == 'L')
{
sum += 50;
}
else if(s.charAt(i) == 'C')
{
if(s.charAt(i+1) == 'D') //400
{
i++;
sum += 400;
}
else if(s.charAt(i+1) == 'M') //900
{
i++;
sum += 900;
}
else
{
sum+=100;
}
}
else if(s.charAt(i) == 'D')
{
sum += 500;
}
else if(s.charAt(i) == 'M')
{
sum += 1000;
}
}
return sum;
}
}
解决方案
推荐阅读
- c# - '无法从程序集'Microsoft.Extensions.Primitives'中加载类型'Microsoft.Extensions.Primitives.InplaceStringBuilder'
- html - 相当于 IE 的“object-fit:cover”的 CSS 样式
- javascript - 将对象数组转换为另一个结构化对象数组
- javascript - 返回时如何保留值
- winforms - 在 DateTimePicker winform 中禁用日期选择
- python - 包含三个连续的辅音
- c# - 如何使用 moq 验证具有参数类型(字符串、对象)的函数
- javascript - 如何在 JavaScript 中提取自定义 HTTP POST 请求标头,以便在另一个 POST 请求中传输?
- spring-mvc - 无法在 Tomcat Web 应用程序管理器中启动 Spring Web 应用程序
- c++ - openssl 命令加密数据不匹配 EVP_aes_128_cbc C 代码