字符串
heda3
从事嵌入式开发10年+,国内某一流研究所的研究生,新一代信息技术工程师职称,申请撰写发明专利15项/授权8项,发表中英文期刊2篇。目前从事嵌入式系统、算法开发及管理,持续分享嵌入式驱动、操作系统、上位机软件、算法等开发过程中遇到的问题、解决方法及知识点
展开
-
26.字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。解法:哈希表实现类似上一篇文章:25.第一次只出现一次的字符https://blog.csdn.n...原创 2019-02-06 09:58:10 · 176 阅读 · 0 评论 -
25.第一次只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解法1:使用辅助数组哈希表类似文章中:19.找出数组中重复的数字https://blog.csdn.net/heda3/article/details/86760298class Solution {p...原创 2019-02-05 22:56:54 · 148 阅读 · 0 评论 -
10.替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解法1:class Solution {public: void replaceSpace(char *str,int length) { int flag1=0,flag2=0; for...原创 2019-01-31 22:38:43 · 176 阅读 · 0 评论 -
24.表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。思路:找出一些不是数值的特征规律,依据此特征进行判断1)出现e或者E 时 e/E前必须有整数;后面必须有整数;不能出现两次...原创 2019-02-05 21:09:35 · 128 阅读 · 0 评论 -
23.把字符串转换成整数
题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1输入复制+2147483647...原创 2019-02-05 18:32:19 · 262 阅读 · 0 评论 -
22.左旋转字符串
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!解法1:思路:需要两个辅助字符串1)将原字符串划分为两部分2)后半部分和前半部分拼...原创 2019-02-05 16:47:58 · 139 阅读 · 0 评论 -
21.字符串的排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路:1)固定第一个字符,递归取得首位后面的各种字符串组合;例如abc acb2)再把第一个字符与后面每一...原创 2019-02-04 12:18:25 · 551 阅读 · 0 评论