【字符串】 1、输入一个字符串,打印出该字符串中字符的所有排列
例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串abc、acb、bac、bca、cab 和 cba
2、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面 (大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法
c 语言函数原型 void proc(char *str),也可以采用你自己熟悉的语言
3、编写反转字符串的程序,要求优化速度、优化空间
4、用 C 语言实现函数 void * memmove(void *dest, const void *src, size_t n)
memmove 函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上
分析:由于可以把任何类型的指针赋给 void 类型的指针,这个函数主要是实现各种数据类型的拷贝
5、编程找出两个字符串中最大公共子字符串,如"abccade", "dgcadde"的最大子串为"cad"
6、输入一个字符串,输出该字符串中对称的子字符串的最大长度
比如输入字符串"google",由于该字符串里最长的对称子字符串是"goog",因此输出 4
7、字符串原地压缩
题目描述:“eeeeeaaaff" 压缩为 "e5a3f2",请编程实现
8、请以回溯与不回溯算法实现字符串匹配
9、输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变
句子中单词以空格符隔开
为简单起见,标点符号和普通字母一样处理
例如:输入"I am a student
",则输出"student
a am I"
10、在一个字符串中找到第一个只出现一次的字符
如输入 abaccdeff,则输出 b
11、写一个函数,它的原形是 in