列表

详情


3340. 检查平衡字符串

给你一个仅由数字 0 - 9 组成的字符串 num。如果偶数下标处的数字之和等于奇数下标处的数字之和,则认为该数字字符串是一个 平衡字符串

如果 num 是一个 平衡字符串,则返回 true;否则,返回 false

 

示例 1:

输入:num = "1234"

输出:false

解释:

示例 2:

输入:num = "24123"

输出:true

解释:

 

提示:

相似题目

平衡二叉树

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: bool isBalanced(string num) { } };

golang 解法, 执行用时: 0 ms, 内存消耗: 3.9 MB, 提交时间: 2024-11-05 10:28:12

func isBalanced(num string) bool {
	s := 0
	for i, b := range num {
		s += (i%2*2 - 1) * int(b-'0')
	}
	return s == 0
}

java 解法, 执行用时: 1 ms, 内存消耗: 41.1 MB, 提交时间: 2024-11-05 10:27:44

class Solution {
    boolean isBalanced(String num) {
        int s = 0;
        char[] digits = num.toCharArray();
        for (int i = 0; i < digits.length; i++) {
            int c = digits[i] - '0';
            s += i % 2 > 0 ? c : -c;
        }
        return s == 0;
    }
}

python3 解法, 执行用时: 3 ms, 内存消耗: 16.2 MB, 提交时间: 2024-11-05 10:27:30

class Solution:
    def isBalanced(self, num: str) -> bool:
        a = list(map(int, num))
        return sum(a[::2]) == sum(a[1::2])

python3 解法, 执行用时: 0 ms, 内存消耗: 16.4 MB, 提交时间: 2024-11-05 10:26:54

class Solution:
    def isBalanced(self, num: str) -> bool:
        return sum(int(a) for a in num[::2]) == sum(int(a) for a in num[1::2])

上一题