LeetCode分割平衡字符串

100 篇文章 2 订阅

分割平衡字符串

在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。

给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。

注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。

返回可以通过分割得到的平衡字符串的 最大数量 。

示例 1:

输入:s = “RLRRLLRLRL”
输出:4
解释:s 可以分割为 “RL”、“RRLL”、“RL”、“RL” ,每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’ 。

来源:力扣(LeetCode)

思路比较简单,就是用变量m来进行记录两个变量数量不相等的情况,即遇见L时++,遇见R时–即可,当m==0时说明已经分割了一个res++,遍历整个字符串,即可找出所有的。

class Solution {
    public int balancedStringSplit(String s) {
        int res=0,m=0;
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)=='L')
                m++;
            else
                m--;
            if(m==0){
                res++;
            }
        }
        return res;
    }
}

这两天在整大作业,就做了简单题,之后慢慢补回来吧,每天一题,保持手感。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值