字符串
nepu_bin
前方的路没有答案,只有走着走着才有了答案
展开
-
生成交替二进制字符串的最少操作数
生成交替二进制字符串的最少操作数给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 “010” 是交替字符串,而字符串 “0100” 不是。返回使 s 变成 交替字符串 所需的 最少 操作数。力扣第228场周赛示例:输入:s = “0100”输出:1解释:如果将最后一个字符变为 ‘1’ ,s 就原创 2021-02-19 22:50:08 · 772 阅读 · 0 评论 -
翻转字符串里的单词 给定一个字符串,逐个翻转字符串中的每个单词。
翻转字符串里的单词给定一个字符串,逐个翻转字符串中的每个单词说明:无空格字符构成一个单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。分析:本题在翻转字符串之前需要思考的是我们如何除去单词间多余的空格,这里我只采用c++中提供的 istringstream 方法(如不采用此法可使用双指针去除空格),首先将字符串的每个单词取出并另存于字符串变量;去掉多余空格的之后,我们观察到:整体反转一次就能将颠倒单词原创 2021-02-09 23:36:48 · 1447 阅读 · 0 评论 -
884. 两句话中的不常见单词 给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单
两句话中的不常见单词给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = “this apple is sweet”, B = “this apple is sour”输出:[“sweet”,“sour”]示例 2:输入:A = “apple apple”, B = “banana”原创 2021-01-25 16:55:11 · 321 阅读 · 1 评论 -
移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-elementclass Solution {public: int removeElement(vector<i原创 2021-01-20 22:08:26 · 566 阅读 · 0 评论 -
比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 ‘#’ 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。力扣原题链接class Solution {public: bool backspaceCompare(string S, string T) { int i = S.length() - 1, j = T.length() - 1; int skipS = 0, skipT = 0;原创 2021-01-20 20:43:47 · 167 阅读 · 0 评论 -
字符串输入后倒置(自存)
#include “stdio.h”int main(){char a[50],i;void reverse(char a[],int );printf(“Please enter string:\n”);gets(a); //输入字符printf(“倒置前:\n”);puts(a);for(i=0;a[i]!=’\0’;i++);reverse(a,–i);printf(“倒置后:\n”);puts(a); //输出字符return 0;}void reverse(cha原创 2020-12-19 15:13:29 · 374 阅读 · 1 评论 -
使用递归方法进行逆序输出字符串
递归思想实现逆序输出:反复调用函数直到找到最后一个字符,然后逐层输出该字符的前一个字符,输出上便形成了逆序效果~#include <stdio.h>void Reverse(char* s) { int len = strlen(s); if (len == 1) { printf("%c", *s); } else { Reverse(s + 1); //若不为最后一个字符,则递归调用Reverse函数 printf("%c", *s);//当调用结束时逐层输出原创 2021-01-12 21:08:55 · 9533 阅读 · 0 评论