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

题目链接: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.mzph.cn/bicheng/39257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux之进程控制(上)

目录 进程创建 进程终止 进程退出码 进程终止的方式 进程等待 进程等待的方式 status概述 总结 上期我们学习了Linux中进程地址空间的概念&#xff0c;至此进程的所有基本概念已经全部学习完成&#xff0c;今天我们将开始学习进程相关的操作。 进程创建 进程创建其实…

理解MySQL存储引擎:掌握数据存储与管理

在工作或学习过程中&#xff0c;作为一名数据库管理员或开发者&#xff0c;我们常常需处理大量数据&#xff0c;同时确保数据的可靠性与高效性。MySQL作为最受欢迎的开源数据库之一&#xff0c;其强大的性能和灵活性广为人知。而在MySQL背后的存储引擎则起到了至关重要的作用。…

强对抗的 SquidLoader 针对中国企业发起攻击

研究人员近期发现了一种高对抗强度的 Loader&#xff0c;其通过钓鱼邮件附件传递给受害者。根据恶意软件所具备的引诱和规避行为&#xff0c;研究人员将其命名为 SquidLoader。SquidLoader 最早在 2024 年 4 月下旬被发现&#xff0c;但研究人员认为其至少已经活跃了一个月以上…

Vue 数据大屏适配

1、准备俩个盒子 .dataScreen-content 盒子内容根据设计稿给的px单位进行正常的布局就行 2、盒子的CSS样式 .dataScreen-container {width: 100%;height: 100%;// 有背景图需要的样式background: url("./images/bg.png") no-repeat;background-repeat: no-repeat;b…

入门PHP就来我这(纯干货)04

~~~~ 有胆量你就来跟着路老师卷起来&#xff01; -- 纯干货&#xff0c;技术知识分享 ~~~~ 路老师给大家分享PHP语言的知识了&#xff0c;旨在想让大家入门PHP&#xff0c;并深入了解PHP语言。 我们接着《想入门PHP就来我这&#xff08;纯干货&#xff09;03》继续往下学习&am…

安装Rabbitmq遇到的坑

&#xff01;&#xff01;&#xff01;一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后&#xff0c;如果在虚拟机的服务器上可以打开&#xff0c;在本地浏览器…

JavaScript中的Array(数组)对象

目录 一、Array数组对象 1、介绍 2、创建数组对象并赋值 3、访问数组元素 二、Array对象属性 1、constructor属性 2、length属性 3、prototype属性 三、Array对象的常用方法 1、isArray() 2、concat() 3、pop() 4、shift() 5、push() 6、unshift() 7、reverse(…

压缩算法LZW

LZW算法 步骤如下&#xff1a; 初始化字典&#xff1a;创建一个初始字典&#xff0c;其中包含所有可能的输入符号。 输入处理&#xff1a;读取输入数据&#xff0c;并将第一个输入符号作为当前模式。 模式匹配和字典更新&#xff1a;从输入中读取下一个符号&#xff0c;并将…

高性价比宠物空气净化器分享,希喂、霍尼韦尔、有哈PK

近期&#xff0c;家中的小猫咪仿佛化身为行走的“蒲公英”&#xff0c;掉毛现象愈发严重&#xff0c;家中每个角落乃至空气中都弥漫着难以忽视的猫毛&#xff0c;衣物更是无一幸免&#xff0c;披上了毛茸茸的“外衣”。更令人啼笑皆非的是&#xff0c;就连不经意间清理的眼屎中…

React 组件 API

React 组件 API React 组件 API 是 React 应用程序开发中的核心部分&#xff0c;它提供了一系列的接口和方法&#xff0c;使得开发者能够创建和管理组件的状态、属性以及生命周期。在本篇文章中&#xff0c;我们将深入探讨 React 组件 API 的各个方面&#xff0c;包括组件的定…

VQA视觉问答系统

这是一个典型的多模态问题,融合了CV与NLP的技术,计算机需要同时学会理解图像和文字。 Joint embedding 首先,图像和问题分别由CNN和RNN进行第一次编码得到各自的特征,随后共同输入到另一个编码器中得到joint embedding,最后通过解码器输出答案。 值得注意的是,有的工作…

k8s 答疑

1 如何修复容器中的 top 指令以及 /proc 文件系统中的信息呢? 这段自问自答的内容解释了如何通过使用 lxcfs 来修复 Docker 容器中 top 指令和 /proc 文件系统中的信息。让我们分步骤来详细说明: 背景信息 在容器化环境中,通常会遇到一个问题,即容器中的一些命令(如 to…

Java核心技术【十八】Java集合框架精讲:List、Set、Map

Java集合框架精讲&#xff1a;List、Set、Map的使用详解与代码示例 Java集合框架是Java编程中不可或缺的一部分&#xff0c;它提供了一系列容器类&#xff0c;用于存储和操作不同类型的数据集。在Java集合框架中&#xff0c;List、Set和Map是最常用的三种集合类型&#xff0c;…

小红书运营教程02

小红书大致会分享10篇左右。微博、抖音、以及视频剪辑等自媒体运营相关技能以及运营教程相关会陆续的进行分享。 上次分享涉及到的对比,母婴系列,或者可以说是服装类型,不需要自己过多的投入,对比知识类博主来说,自己将知识讲述出来,然后要以此账号进行变现就比较麻烦,…

道可云元宇宙每日资讯|山东出台人形机器人产业发展路线

道可云元宇宙每日简报&#xff08;2024年7月1日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 山东出台人形机器人产业发展路线 近期&#xff0c;山东省工业和信息化厅等部门印发《山东省促进人形机器人产业创新发展实施方案&#xff08;2024—2027年&#xff0…

如果这时你还不清理C盘,那只能眼睁睁看着电脑越来越卡 直到系统崩溃

如果这时候你还不清理C盘&#xff0c;那只能眼睁睁看着电脑越来越卡 直到系统崩溃。很多人就是想偷懒&#xff0c;当然这是人的天性&#xff0c;明明知道自己的C盘空间就那么大&#xff0c;一天天看着C盘空间越来越小&#xff0c;还不去清理C盘。 这样的人有两种&#xff0c;一…

CesiumJS【Basic】- #048 绘制闪烁线(Primitive方式)

文章目录 绘制闪烁线(Primitive方式)- 需要自定义着色器1 目标2 代码2.1 main.ts绘制闪烁线(Primitive方式)- 需要自定义着色器 1 目标 使用Primitive方式绘制闪烁线 2 代码 2.1 main.ts import * as Cesium from cesium;const viewer = new Cesiu

软件开发案例参考

前言&#xff1a;基于平台现有需求进行新功能模块开发与实现&#xff0c;以下内容为部分源码解析&#xff0c;仅提供一些思路参考&#xff0c;不予以客观指导&#xff0c;毕竟条条大路通罗马嘛&#xff1b; 语言&#xff1a;C# 工具&#xff1a;visual studio 2017/visual st…

【MySQL List插入】MySQL List格式数据插入

其中id为对应的函数名&#xff0c;useGeneratedKeys是否主键自动生成&#xff0c;keyProperty主键关联的属性。 <foreach collection"list" item"element" index"index" separator",">确定集合类型&#xff0c;item每个元素表示…

C++基础(二):C++入门(一)

C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式 等。熟悉C语言之后&#xff0c;对C学习有一定的帮助&#xff0c;本篇博客主要目标&#xff1a; 1. 补充C语言语法的不足&#xff0c;以及C是如何对C语言设计…