字符串
Lilyan_blog
这个作者很懒,什么都没留下…
展开
-
POJ找第一个只出现一次的字符(多种方法)
1.问题描述 2.算法分析 a. 我这里使用的是最笨的方法,就是每一次取出字符串中的一个字符依次比较,我是将输入的字符串复制到另一个字符串,然后逐一比较,因为要找到第一个没有重复的字符。那么就相当于找到以后马上跳出循环。没有重复出现的字符必然只有一个,经过循环判断可得。 b. 听朋友说也是可以使用128个ASCALL值判断,就是将每次输入的ASCALL值读取,然后对每次输入的ASCA...原创 2018-10-31 21:11:38 · 1044 阅读 · 0 评论 -
POJ过滤多余的空格
1.题目描述: 2.算法分析: 首先,要过滤掉多余的空格,我们如果一个一个删除空格是一件很麻烦的事,不妨我们可以从每个单词的后面加一个空格,这样是不是会比把多余空格删除好一些呢。怎么做? 一个知识点大家要了解,字符串的输入方式有两种 //1.scanf是从光标开始的地方读到空格就结束了,也就相当于读一个单词 scanf("%s",&str); //2.gets()是从光标开始...原创 2018-10-30 20:27:26 · 642 阅读 · 0 评论 -
POJ字符串判等
1.问题描述 2.算法分析 因为题目说不计空格以及忽略大小写,相当于b对B也是可以的。那我们可以将两个字符串的所有内容都转换成小写然后进行判断即可。 转换成小写使用cstring库里面的strlwr函数。 #include<iostream> #include<cstring> #include<cstdio> using namespace std...原创 2018-10-30 21:15:54 · 322 阅读 · 0 评论 -
POJ字符串移位包含问题(详细思路)
1.问题描述: 2.算法分析: 这道题目是一道比较巧的题目,如果不能找出规律,大多数人都是一个一个循环移位到后面去。 其实可以用在这个方法: 拿样例举例子: AABCD我们判断CDAA是不是移位后的子串 一次移位:ABCDA 二次移位:BCDAA 三次移位:CDAAB 四次移位:DAABC 五次移位:AABCD 可以发现经过字符串1的长度次移位(这里是五次移位),又回到了原始串。那么其实字...原创 2018-10-30 23:57:32 · 455 阅读 · 0 评论 -
使用指针实现字符串逆序操作
#include<iostream> #include<cstdio> #include<cstring> using namespace std; void swapp(char &a,char &b) //交换两个字符的位置 { char temp; temp = a; a = b; b = temp; } void wor...原创 2018-11-06 18:22:09 · 8068 阅读 · 0 评论