【字符串处理】【双指针】个人练习-Leetcode-777. Swap Adjacent in LR String

news/2024/7/7 20:40:46 标签: leetcode, 算法, 职场和发展

题目链接:https://leetcode.cn/problems/swap-adjacent-in-lr-string/description/

题目大意:给两个字符串start, end,只包含XLR三种字符。可以进行一次操作将XL转换成LX或者将RX转换为XR,返回是否存在方法使得start能转换成end

思路:操作中可以看出,这只不过是让L和X或R和X交换位置而已,L、R的相对位置不会变。因此先把所有X去掉,看看只剩下LR的两个字符串是否一致。不一致就返回false

我原本以为这就到头了,但没想到还没过,看了题解才发现,这个交换中,L只能左移,R只能右移,因此还要对比一下startend中,相对位置对应的每个L和R,是否满足【L只能左移,R只能右移】这个条件。这个步骤用双指针完成即可。

完整代码

class Solution {
public:
    bool canTransform(string start, string end) {
        string s1, s2;
        for (auto c : start) {
            if (c != 'X')
                s1.push_back(c);
        }
        for (auto c : end) {
            if (c != 'X')
                s2.push_back(c);
        }
        if (s1 != s2)
            return false;
        int i = 0, j = 0;
        while (i < start.size()) {
            if (start[i] == 'X') {
                i++;
                continue;
            }
            while (j < end.size() && end[j] != start[i])
                j++;
            if (start[i] == 'R' && i > j)
                return false;
            if (start[i] == 'L' && i < j)
                return false;
            i++;
            j++;
        }
        return true;
    }
};

http://www.niftyadmin.cn/n/5535217.html

相关文章

HX4004A-MFC 低噪声、稳压电荷泵DC/DC转换器芯片IC

一般描述 该HX4004A是一个低噪声开关电容电压倍。它产生一个调节输出电压从2.7V到4.5V的输入。低的外部零件数量(VIN和VOUT处一个飞行电容和两个小型旁路电容)使HX4004A非常适合小型电池供电应用。 该HX4004A具有热关断能力&#xff0c;可以生存从VOUT到GND的连续…

普通集群与镜像集群配置

目录 一. 环境准备 二. 开始配置集群 三. RabbitMQ镜像集群配置 四. 安装并配置负载均衡器HA 一. 环境准备 关闭防火墙和selinux&#xff0c;进行时间同步 主机名系统IP服务rabbitmq-1 Rocky_linux9.4 192.168.226.22RabbitMQ&#xff0c;MySQLrabbitmq-2Rocky_linux9.41…

Excel 中的元素定位:相对定位、绝对定位和混合定位

在Excel中&#xff0c;单元格引用有三种主要类型&#xff1a;相对定位、绝对定位和混合定位。 这些类型主要用于公式和函数中&#xff0c;决定在复制或拖动公式时引用如何变化。 1. 相对定位 相对定位指的是不带“$”符号的单元格引用&#xff0c;例如 A1。 这种引用方式在…

docker k8s

1、docker是什么&#xff1f; Docker是一个开源的应用容器引擎&#xff0c;将环境和程序一起打包给到 服务器运行的工具软件。 2、基础镜像base image是什么&#xff1f; 操作系统&#xff1a;用户空间、内核空间 阉割操作系统&#xff0c;利用其的用户空间&#xff08;因为…

1-5题查询 - 高频 SQL 50 题基础版

目录 1. 相关知识点2. 例题2.1.可回收且低脂的产品2.2.寻找用户推荐人2.3.大的国家2.4. 文章浏览 I2.5. 无效的推文 1. 相关知识点 sql判断&#xff0c;不包含null&#xff0c;判断不出来distinct是通过查询的结果来去除重复记录ASC升序计算字符长度 CHAR_LENGTH() 或 LENGTH(…

【leetcode82-91动态规划,91-95多维动态规划】

动态规划【82-91】 多维动态规划【91-95】

Docker Compose 安装以及命令的详细解析

Docker Compose 是一种用于定义和运行多容器Docker应用程序的工具。通过Compose&#xff0c;可以使用YAML文件来配置应用程序所需的所有服务&#xff0c;然后使用单个命令创建并启动所有服务。Docker Compose 提供了一种高效、简洁的方式来管理Docker容器和服务&#xff0c;使得…

数字类型<整数、复数>

Python 中&#xff0c;数字类型 Number&#xff0c; 包括整数 int、浮点 float 数和复数 complex 三个子类型。 用来表示程序中不同的数字类型的数据。 整数 整数类型&#xff1a;用来表示整数数值&#xff0c;即没有小数部分的数值&#xff0c;在 Python 中&#xff0c;没有…