当前位置: 首页 > wzjs >正文

WordPress站内搜索代码网站建设费记什么科目

WordPress站内搜索代码,网站建设费记什么科目,富阳网站定制开发哪家公司好,科技小巨人申报条件解题思路: 1.获取信息: 给了一个链表,要求两两一组地交换位置 限定条件:只能进行结点交换,不能修改结点内部的值 额外条件:结点数在0-100的范围,闭区间 2.分析题目:…

解题思路:

        1.获取信息:
                给了一个链表,要求两两一组地交换位置

                限定条件:只能进行结点交换,不能修改结点内部的值

                额外条件:结点数在0-100的范围,闭区间

        2.分析题目:

                这里的两两一组不是每次取相邻的两个,而是,如果你取了第一个和第二个结点为一组,那么下一组就只能是第三个结点和第四个结点为一组,以此类推

                在这个环节,我就不说我写出各个方法的思路了,这些思路放在各个方法的下面借着代码来帮助你理解

        3.示例查验:

                示例1:(有时候你要借助题目和示例才能更好地理解题目要求,以免出现歧义)验证了我分析题目环节中的想法,其实我一开始想的是我说的那个错误的想法的,看见这个示例才改正了思路

                示例2:链表为空,返回空

                示例3:链表中只有一个结点,返回那个结点

        4.尝试编写代码:

                (1)反骨法:

                        虽然它说,不让你改变结点内部的值,但我偏要改变,我就是反骨,就要忤逆一下你,行不行呢?

                        当然是可以的,下面我也会说一下这个方法的思路,但是还是建议按照题目好好去做,给自己加一些限制总是能提升自己的

                        思路:将链表中的每个结点内部的值都储存在一个vector中,在遍历结点的时候,再进行两两赋值即可,以下是完整代码

class Solution {
public:ListNode* swapPairs(ListNode* head) {vector<int>nums(100,-1);//分配100个空间大小,全部初始化为-1ListNode*dummy=head;ListNode*temp=head;int n=0;while(dummy!=nullptr){//取出每个结点内部的值nums[n]=dummy->val;dummy=dummy->next;n++;}for(int i=0;i<n-1;i+=2){//遍历链表进行两两赋值head->val=nums[i+1];head->next->val=nums[i];head=head->next->next;}return temp;}
};

               下面的方法就是正规的交换链表中的结点的方法了,上面的方法看看就行了,毕竟不正规

                (2)迭代法

                        思路:通过迭代的方法交换两两组合

                        其实交换两个结点不是很难,选取哪两个结点进行交换也不是很难

                        难的是,你能不能够断干净和连上该连的结点,下面我会用一张图来提醒你一下易错点

                以下是完整的代码

class Solution {
public:ListNode* swapPairs(ListNode* head) {if(head==nullptr||head->next==nullptr)return head;//如果当前结点为空或者当前结点的下一结点为空,就返回当前结点ListNode*pre=head;//备份当前结点(这里只是用于初始化,象征用一下,下面的用途就是存储上一次的当前结点,你实在不懂得话,我这样说吧,就是我迭代法里面的那张图片中的值为1的结点)ListNode*dum=head->next;//当前结点的下一结点(因为交换后,它就变成头结点了嘛)while(head!=nullptr&&head->next!=nullptr){//如果当前结点为空且当前结点的下一结点为空,就退出循环ListNode*temp=head->next;//当前结点的下一结点pre->next=temp;//上一次的当前结点指向这一次的当前结点的下一结点head->next=temp->next;temp->next=head;pre=head;//备份这次的当前结点(用于指向下一次的当前结点的下一结点)head=head->next;//移动这次的当前结点到下一次的当前结点}return dum;}
};

                (3)递归法

                        思路:通过递归的方法进行交换两两组合

                        我们将两个结点交换后,可以将它们看作是一个整体,它们指向的是下一个两两组合

                        例如,第一次交换组合的时候,你交换了第一个结点(M结点)和第二个结点(N结点),那我们把它们看作是一个整体,从链表中取出来,此时M结点指向的下一结点就是,后续经过两两交换的(已经取出来M结点和N结点)链表的头结点对不对

                        那么依次类推,第二次交换组合的时候也是这样,直到所有的两两组合被交换完

文字比较无力,如果你看不懂,那就看我下面的代码吧,如果你迭代法没有看懂的话,这个你可能也看不懂,这一个更加的精妙

                        你实在不懂的话,建议你去做一下力扣21题,它的方法启发了我写出来递归法

class Solution {
public:ListNode* swapPairs(ListNode* head) {if(head==nullptr)return nullptr;//结点为空if(head->next==nullptr)return head;//下一结点为空ListNode*temp=head->next;//当前结点的下一结点head->next=temp->next;//交换操作temp->next=head;//交换操作head->next=swapPairs(head->next);//这就是我上面思路的最好诠释return temp;}
};

希望你能有所收获,我也算不虚此行嘛

还是提一嘴,纸上得来终觉浅,绝知此事要躬行


文章转载自:

http://7IxocaoS.dwkfx.cn
http://y2GOE25G.dwkfx.cn
http://9dKedBiy.dwkfx.cn
http://pKvJcrUE.dwkfx.cn
http://1CVRRXMw.dwkfx.cn
http://khuI7SBS.dwkfx.cn
http://pMNkE32S.dwkfx.cn
http://MyFKc0Oj.dwkfx.cn
http://MAuRn3Ir.dwkfx.cn
http://f6jMw5Cy.dwkfx.cn
http://NV7KKTrT.dwkfx.cn
http://54qJ0iqQ.dwkfx.cn
http://QnuH36DL.dwkfx.cn
http://iZG0ADro.dwkfx.cn
http://bhtCf7R9.dwkfx.cn
http://xlb49G7M.dwkfx.cn
http://Q762TFMl.dwkfx.cn
http://0RaZQFkU.dwkfx.cn
http://TXTEV8mr.dwkfx.cn
http://cFVcYwQL.dwkfx.cn
http://06MuxjB2.dwkfx.cn
http://cR7Ztxog.dwkfx.cn
http://usBKOTB3.dwkfx.cn
http://YKTszqTD.dwkfx.cn
http://BXqlpC4J.dwkfx.cn
http://QBVff9xE.dwkfx.cn
http://R6nYJQAV.dwkfx.cn
http://5VZ16rTB.dwkfx.cn
http://Cj8EVWI9.dwkfx.cn
http://6imU6K0j.dwkfx.cn
http://www.dtcms.com/wzjs/658405.html

相关文章:

  • 黑龙江企业网站建设公司咸宁建设网站
  • 网站建设和美工长沙seo代理商
  • 兰溪城市建设规划网站广州比较好的网站设计
  • 网站建设的经费一建 专业
  • 男生做男生网站在那看促销方法100种
  • 老域名网站不收录郑州推广优化公司
  • 合肥高端网站开发小游戏网址链接
  • 网站建设合同标的怎么写广告设计专业分析
  • 用cms做的网站 的步骤珠海华中建设工程有限公司网站
  • 做网站linux和win如何防止网站攻击
  • 网站建设需要的流程wordpress the_category()
  • 文档阅读网站模板下载论论坛坛网网站站建建设设
  • 仿别人的网站违法嘛集团公司中英文网站模板
  • 婚恋网网站架构咨询服务公司
  • 在哪里做百度网站教育校园网站建设方案
  • 楚雄企业网站建设公司毕业网站设计代做
  • 空间做网站建站推广什么意思
  • 我的世界查找建筑网站app软件开发app定制开发价格
  • seo外包方法关键词优化需要注意
  • 大专毕业设计网站wordpress清理缓存插件
  • 大健康网站怎么样做wordpress default template
  • 东莞家政网站建设手机端h5网站模板下载
  • 示范校建设验收网站品牌营销策划包括哪些内容
  • wordpress设置关站seo方式包括
  • 找深圳做网站的公司wordpress 中文标题
  • 网站布局怎么设计网站快速优化排名排名
  • 企业微信网站开发公司岳阳网站定制开发设计
  • 知乎 做照片好的网站婚恋网站 模板
  • 东莞最新网站建设软件中国建设银行官方网站纪念币预约
  • 用jsp做网站的感想北京海淀区区号