首页 > 其他分享 >字符串操作

字符串操作

时间:2023-05-01 16:55:21浏览次数:64  
标签:前缀 删除 strs erase 字符串 操作 string

字符串的基本操作对象通常是字符串整体或者其子串,很多时候我们希望对子串进行操作,这是字符串与数组不同的地方之一。且字符串部分操作比数组更加复杂,如比较和连接操作。在c++中,字符串可以用==来实现比较,也可以直接进行连接操作,但是在其他语言如java中不可以直接实现且字符串不可变。

1.查找字符串最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""

输入:strs = ["flower","flow","flight"]
输出:"fl"

输入:strs = ["dog","racecar","car"]
输出:""

思路:由于寻找公共前缀,不妨设置第一个为公共前缀,然后将其与之后的进行比较,删去不同的部分。

这里使用了c++函数erase(),有三种用法:https://blog.csdn.net/xueluowutong/article/details/81016581

(1)erase( pos, n); 删除从pos开始的n个字符,例如erase(0,1),删除0位置的一个字符,即删除第一个字符

(2)erase( position); 删除position处的一个字符(position是个string类型的迭代器)

(3)erase(first,last);删除从first到last之间的字符,(first和last都是迭代器)

 1 class Solution {
 2 public:
 3     string longestCommonPrefix(vector<string>& strs) {
 4         string same = strs[0];
 5         for(int i =1;i<strs.size();i++){
 6             for(int j=0;j<same.size();j++){
 7                 if(same[j] != strs[i][j]) same.erase(j);
 8             }
 9         }
10         return same;   
11     }
12 };

 

标签:前缀,删除,strs,erase,字符串,操作,string
From: https://www.cnblogs.com/chordxx/p/17366700.html

相关文章

  • 考研408操作系统-5.1IO管理概述
    23版王道书第5题第6题第9题通道技术指的是一种硬件机制。第12题第19题第21题第22题第24题......
  • java:输入一个字符串,在其中寻找长度最长的,不含重复字符的字符串,如果有多个长度相同的最
    publicclasstest2{publicstaticList<String>findLongestSubstring(Strings){List<String>result=newArrayList<>();intn=s.length();Map<Character,Integer>map=newHashMap<......
  • 关于Linux操作系统-OS等保要求配置-禁止root用户直接ssh登录
    在等保中,都会去要求查看sshd配置,看是否有禁止root用户直接ssh登录,此项一般也会作为一个强制要求安全配置项笔者这里的操作系统如下,对于Redhat7.x应该也是一样的,可以自行测试[qq-5201351@Localhost~]$cat/etc/redhat-releaseRedHatEnterpriseLinuxrelease8.1(Ootpa)......
  • pwn刷题笔记(格式化字符串)
    攻防世界:CGfsbchecksec查看保护机制,开启了NX和Canary,32位ELF。反汇编代码如下:intmain(){charbuf[0x7E-0x76];ebp-7Eshortintanonymous_0;ebp-76chars[0x74-0x10];ebp-74intanonymous_1;ebp-10anonymous_1=gs:14h//g......
  • python操作MongoDB数据库
    python处理mongodb首选就是pymongo.首先,安装一下这个模块pipinstallpymongo建立连接importpymongoconn=pymongo.MongoClient(host='localhost',port=27017)#切换数据库py=conn['python']#登录该数据库(需要的话)py.authenticate("python_admin",'......
  • 6344. 字典序最小的美丽字符串-343
    字典序最小的美丽字符串如果一个字符串满足以下条件,则称其为美丽字符串:它由英语小写字母表的前k个字母组成。它不包含任何长度为2或更长的回文子字符串。给你一个长度为n的美丽字符串s和一个正整数k。请你找出并返回一个长度为n的美丽字符串,该字符串还满足:在字......
  • python 文件操作(csv和excel大型文件读取)
    使用csv模块首先,我们需要导入csv模块:importcsv读取CSV文件要读取一个CSV文件,可以使用csv.reader()函数。该函数接受一个文件对象作为参数,并返回一个可迭代的行列表。每一行都是一个由列数据组成的列表。例如,如果我们有一个名为data.csv的CSV文件,其中包含以下内容:Name,Age......
  • python 文件操作
    在Python3中,进行文件操作的主要方式是使用内置的open()函数。该函数接受一个文件名和一个模式参数,并返回一个文件对象,我们可以在该对象上执行读取或写入操作。以下是一些常见的文件操作及其示例:打开文件我们可以使用open()函数打开一个文件并获得文件对象。例如,以下代码......
  • 中科大计算机学院操作系统真题(www.itbuluoge.com)
    ......
  • iPhone获取字符串高度和宽度 …
    通常我们使用UILabel只是显示较短的字符串,下面是一种获取字符串的换行高度,显示 代码如下所示:[cpp]viewplaincopyprint?NSString*str=@"testtestImplementviewDidLoadtodoadditionalsetupafterloadingtheview,typicallyfromanib";//CGSizelabelS......