目录

Leetcode3340检查平衡字符串

Leetcode3340:检查平衡字符串

题目描述:

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

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

代码思路:

  1. 初始化变量
    • n :字符串 num 的长度。
    • num1num2 :分别用于存储偶数索引和奇数索引上数字的和,初始值都为 0。
  2. 遍历字符串
    • 使用一个 for 循环遍历字符串 num 的每个字符。
    • 在每次迭代中,通过 i % 2 判断当前索引 i 是偶数还是奇数。
      • 如果 i % 2 == 0 ,说明当前索引是偶数,将当前字符(转换为整数)加到 num1 上。
      • 如果 i % 2 != 0 (即 i 是奇数),将当前字符(转换为整数)加到 num2 上。
  3. 比较和返回结果
    • 在遍历完所有字符后,比较 num1num2 的值。
    • 如果它们相等,说明偶数索引和奇数索引上的数字之和相等,返回 True ,表示字符串是平衡的。
    • 如果它们不相等,返回 False ,表示字符串不是平衡的。

代码实现:

class Solution:
    def isBalanced(self, num: str) -> bool:
        n = len(num)
        num1 = num2 = 0
        for i in range(n):
            if i % 2 == 0:
                num1 += int(num[i])
            else:
                num2 += int(num[i])
        if num1 == num2:
            return True
        else:
            return False