![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客网字符串篇
牛客网字符串篇
无敌的神龙战士
我是废物
展开
-
字符串相关问题
反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]class Solution {public: .原创 2022-05-16 11:50:50 · 73 阅读 · 0 评论 -
316. 去除重复字母
去除重复字母给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cbacdcbc”输出:“acdb”class Solution {public: string removeDuplicateLetters(string s) { stack<char> stk; vec.原创 2022-03-28 21:51:04 · 209 阅读 · 0 评论 -
12. 整数转罗马数字
整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V +.原创 2021-05-19 08:39:30 · 41 阅读 · 0 评论 -
6. Z 字形变换
Z 字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入.原创 2021-05-18 10:45:22 · 31 阅读 · 0 评论 -
2021-05-17
题目描述给出两个字符串 SS 和 TT,要求在O(n)O(n)的时间复杂度内在 SS 中找出最短的包含 TT 中所有字符的子串。例如:S ="XDOYEZODEYXNZ"S="XDOYEZODEYXNZ"T ="XYZ"T="XYZ"找出的最短子串为"YXNZ""YXNZ".注意:如果 SS 中没有包含 TT 中所有字符的子串,返回空字符串 “”;满足条件的子串可能有很多,但是题目保证满足条件的最短的子串唯一。示例1输入"XDOYEZODEYXNZ","XYZ"返回值"YXNZ原创 2021-05-17 09:51:30 · 115 阅读 · 0 评论 -
大数乘法
题目描述以字符串的形式读入两个数字,编写一个函数计算它们的乘积,以字符串形式返回。(字符串长度不大于10000,保证字符串仅由’0’~'9’这10种字符组成)示例1输入"11","99"返回值"1089"说明11*99=1089 class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 第一个整数 * @par原创 2021-05-16 10:06:19 · 65 阅读 · 0 评论 -
字符串变形
题目描述对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形。首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把着个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。比如"Hello World"变形后就变成了"wORLD hELLO"。输入描述:给定一个字符串s以及它的长度n(1≤n≤500)返回值描述:请返回变形后的字符串。题目保证给定的字符串均由大小写字母和空格构成。示例1输入"This is a sample",1原创 2021-05-16 08:46:50 · 192 阅读 · 0 评论 -
最长公共前缀
题目描述编写一个函数来查找字符串数组中的最长公共前缀。示例1输入["abca","abc","abca","abc","abcc"]返回值"abc"class Solution {public: /** * * @param strs string字符串vector * @return string字符串 */ string longestCommonPrefix(vector<string>& strs)原创 2021-05-15 10:19:16 · 33 阅读 · 0 评论 -
将字符串化为整数
题目描述实现函数 atoi 。函数的功能为将字符串转化为整数提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。示例1输入"123"返回值123class Solution {public: int atoi(const char *str) { // " 11333713950" 2147483647 -1551187938 if(*str == '\0'){ return原创 2021-04-29 12:51:43 · 91 阅读 · 0 评论 -
判断回文
题目描述给定一个字符串,请编写一个函数判断该字符串是否回文。如果回文请返回true,否则返回false。示例1输入"absba"返回值trueclass Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @return bool布尔型 */ bool judge(string st原创 2021-04-29 10:24:35 · 61 阅读 · 0 评论 -
字符串排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。示例1输入"ab"返回值["ab","ba"]class Solution {public: vector<string> Permutation(string str) { vec原创 2021-04-28 16:16:24 · 99 阅读 · 0 评论 -
最长回文子串
题目描述对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。给定字符串A以及它的长度n,请返回最长回文子串的长度。示例1输入"abc1234321ab",12返回值7class Solution {public: int getLongestPalindrome(string A, int n) { // write code here vector<vector<bool>> dp(n,vector<原创 2021-04-28 11:21:59 · 86 阅读 · 0 评论 -
反转字符串
题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)示例1输入"abcd"返回值"dcba"class Solution {public: /** * 反转字符串 * @param str string字符串 * @return string字符串 */ string solve(string str) { // write code here for(原创 2021-04-27 11:51:02 · 85 阅读 · 0 评论 -
大数加法
题目描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由’0’~'9’这10种字符组成)示例1输入"1","99"返回值"100"说明1+99=100 class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 *原创 2021-04-27 11:25:24 · 40 阅读 · 0 评论 -
括号序列
题目描述给出一个仅包含字符’(’,’)’,’{’,’}’,’[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。示例1输入复制“[”返回值false示例2输入复制“[]”返回值复制trueclass Solution {public: /** * * @param s string字符串 * @return bool布尔型原创 2021-04-26 11:54:34 · 60 阅读 · 0 评论 -
最长无重复子串
题目描述给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。示例1输入复制[2,3,4,5]返回值4示例2输入[2,2,3,4,3]返回值3class Solution {public: /** * * @param arr int整型vector the array * @return int整型 */ int maxLength(vector<int>& a原创 2021-04-26 11:35:12 · 42 阅读 · 0 评论