编程之法
小咸鱼_
这个作者很懒,什么都没留下…
展开
-
<编程之法>1.1 字符串旋转
题目: 给定一个字符串,左旋转m个字符,输出旋转后的字符串。 例如 “abcdef” 左旋转3个字符后成为 “defabc” 解决办法:三步反转 将“abcdef”看成两部分 X=“abc” Y=“def” 先对X反转,再对Y反转,然后整体反转。 代码: void reverseString(char *s, int bg, int ed) { while (bg <原创 2017-06-13 19:55:03 · 1587 阅读 · 0 评论 -
<编程之法>1.3 字符串全排列
题目: 输入一个字符串,输出该字符串的所有排列。例如,输入 “abc”,输出:abc、acb、bac、bca、cab、cba。 解决办法:字典序排列。 字典序:给定两个字符串,从起点开始将它们对应的字符逐个比较,则先出现较小的字符的那个字符串的字典序小,如果字符一直相等,则长度较短的那个字符串字典序小。 例如 abc 由此,我们想到STL中的next_permutatio原创 2017-06-13 21:53:21 · 1160 阅读 · 0 评论