百度面试题:字符串翻转代码
发布时间:2020-12-16 07:46:12 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 给定一个字符串,比如“abcdef”,要求写一个函数,将字符串翻转成“defabc”,或者翻转成“efabcd”,字串位数要求是可变的。 此题还是2011年考研数据
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
给定一个字符串,比如“abcdef”,要求写一个函数,将字符串翻转成“defabc”,或者翻转成“efabcd”,字串位数要求是可变的。
此题还是2011年考研数据结构压轴大题,在百度面前也就是一面第一题。可见百度一斑。 解法是将字符串进行3次翻转,第一次翻转整个字符串,第二次跟第三次翻转部分字符串。 #include<stdio.h> void swap(char *str,int n) { char temp; char *p,*q; p = str; q = str + n - 1; while(p < q) { temp = *p; *p = *q; *q = temp; p++; q--; } } void reserve(char *str,int n) { swap(str,strlen(str)); swap(str,n); swap(str+n,strlen(str)-n); } int main(int argc,char *argv[]) { char str[10] = "abcdef"; printf("%sn",str); reserve(str,3); //3是翻转的位数 printf("%sn",str); return 0; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |