目标
给你一个仅由数字 0 - 9 组成的字符串 num。如果偶数下标处的数字之和等于奇数下标处的数字之和,则认为该数字字符串是一个 平衡字符串。
如果 num 是一个 平衡字符串,则返回 true;否则,返回 false。
示例 1:
输入:num = "1234"
输出:false
解释:
偶数下标处的数字之和为 1 + 3 = 4,奇数下标处的数字之和为 2 + 4 = 6。
由于 4 不等于 6,num 不是平衡字符串。
示例 2:
输入:num = "24123"
输出:true
解释:
偶数下标处的数字之和为 2 + 1 + 3 = 6,奇数下标处的数字之和为 4 + 2 = 6。
由于两者相等,num 是平衡字符串。
说明:
- 2 <= num.length <= 100
- num 仅由数字 0 - 9 组成。
思路
判断数字字符串奇数位上的数字之和是否等于偶数位的数字之和。
代码
/**
* @date 2025-03-14 0:36
*/
public class IsBalanced3340 {
public boolean isBalanced(String num) {
int n = num.length();
int sum = 0;
for (int i = 0; i < n; i += 2) {
sum += num.charAt(i) - '0';
}
for (int i = 1; i < n; i += 2) {
sum -= num.charAt(i) - '0';
}
return sum == 0;
}
}