当前位置:幸运快三 > 联系我们 >
(C/C++)语法入门解题报告:结构体、类、指针、引用
发布日期:2022-11-28

1、斐波那契数列:

题目要求:写一个函数,输出第n项斐波那契数列。

classSolution{public:intFibonacci(intn){inta=0,b=1;//首项为0while(n--)进行n次替换{intc=a+b;a=b,b=c;}returna;}};

方法2:递归实现

classSolution{public:intFibonacci(intn){if(n

2、替换空格

题目要求:实现一个函数,把字符串中的每个空格替换成" "

classSolution{public:stringreplaceSpaces(string&str){stringres;//定义一个新字符串for(autoc:str)//auto枚举字符串strif(c=='')res+=" ";elseres+=c;returnres;}};

3、在O(1)时间删除链表结点

题目要求:

给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。

假设链表一定存在,并且该节点一定不是尾节点。

classSolution{public:voiddeleteNode(ListNode*node){node->val=node->next->val;//用下一个节点的值把我当前的值覆盖掉node->next=node->next->next;//再把下个节点删掉}};

4、合并两个排序的链表

题目要求:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。

输入:1->3->5,2->4->5

输出:1->2->3->4->5->5

classSolution{public:ListNode*merge(ListNode*l1,ListNode*l2){autodummy=newListNode(-1);autocur=dummy;//记录当前尾节点的地址while(l1&&l2)//两个指针来遍历两个链表{if(l1->valval)//每次找当前两个链表中较小值{cur->next=l1;//那个值更小就放在新链表cur后面cur=l1;l1=l1->next;}else{cur->next=l2;cur=l2;l2=l2->next;}}if(l1)cur->next=l1;//哪个不为空则接到最后一个elsecur->next=l2;returndummy->next;}};

5、左旋转字符串

题目要求:

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。

请定义一个函数实现字符串左旋转操作的功能。

比如输入字符串"abcdefg"和数字22,该函数将返回左旋转22位得到的结果"cdefgab"。

输入:"abcdefg",n=2

输出:"cdefgab"

方法1:利用函数substr

classSolution{public:stringleftRotateString(stringstr,intn){while(n--){str=str.substr(1)+str[0];//每次把字符串首位接到字符串末尾,接n次}returnstr;}};

方法2:利用reverse函数

classSolution{public:stringleftRotateString(stringstr,intn){reverse(str.begin,str.end);//先逆置全部reverse(str.begin,str.begin+str.size-n);再分别逆置每个部分reverse(str.begin+str.size-n,str.begin+str.size);returnstr;}};

总结:让我们一起加油,我们会成为下一个大牛!

上一篇:张锡纯医案: 嫌木通太苦而未尝使用, 学生一剂木通汤让张锡纯佩服
下一篇:民间故事: 一幅画引发的故事

幸运快三平台,幸运快三官网,幸运快三网址,幸运快三下载,幸运快三app,幸运快三开户,幸运快三投注,幸运快三购彩,幸运快三注册,幸运快三登录,幸运快三邀请码,幸运快三技巧,幸运快三手机版,幸运快三靠谱吗,幸运快三走势图,幸运快三开奖结果
主页    |     公司简介    |     服务项目    |     媒体报道    |     信息展示    |     新闻资讯    |     人才招聘    |     联系我们    |    

Powered by 幸运快三 @2018 RSS地图 HTML地图