Leetcode3340:检查平衡字符串

打印 上一主题 下一主题

主题 1044|帖子 1044|积分 3132

题目描述:

给你一个仅由数字 0 - 9 组成的字符串 num。如果偶数下标处的数字之和等于奇数下标处的数字之和,则认为该数字字符串是一个 平衡字符串
如果 num 是一个 平衡字符串,则返回 true;否则,返回 false。
代码思绪:


  • 初始化变量

    • n:字符串 num 的长度。
    • num1 和 num2:分别用于存储偶数索引和奇数索引上数字的和,初始值都为 0。

  • 遍历字符串

    • 使用一个 for 循环遍历字符串 num 的每个字符。
    • 在每次迭代中,通过 i % 2 判断当前索引 i 是偶数还是奇数。

      • 如果 i % 2 == 0,说明当前索引是偶数,将当前字符(转换为整数)加到 num1 上。
      • 如果 i % 2 != 0(即 i 是奇数),将当前字符(转换为整数)加到 num2 上。


  • 比较和返回效果

    • 在遍历完所有字符后,比较 num1 和 num2 的值。
    • 如果它们相称,说明偶数索引和奇数索引上的数字之和相称,返回 True,表示字符串是平衡的。
    • 如果它们不相称,返回 False,表示字符串不是平衡的。

代码实现:

  1. class Solution:
  2.     def isBalanced(self, num: str) -> bool:
  3.         n = len(num)
  4.         num1 = num2 = 0
  5.         for i in range(n):
  6.             if i % 2 == 0:
  7.                 num1 += int(num[i])
  8.             else:
  9.                 num2 += int(num[i])
  10.         if num1 == num2:
  11.             return True
  12.         else:
  13.             return False
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表