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

洛可可设计公司怎么样平台seo

洛可可设计公司怎么样,平台seo,加盟商,关注江苏建设厅网站题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 比如以下例子: 题目接口: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListN…

 

题目描述

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

比如以下例子:

 

题目接口:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {}
};

题目解答:

1.迭代法(尾插法)

这个题目其实我之前做过。只不之前用的是迭代法来做的。迭代法的解题代码如下:

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if(list1 == nullptr){return list2;}if(list2 == nullptr){return list1;}ListNode* head = nullptr;//指向头节点ListNode* tail = nullptr;//指向尾节点while(list1&&list2){if(list1->val<list2->val){if(head == nullptr){head = tail = list1;}else{tail->next = list1;tail = tail->next;}list1 = list1->next;tail->next = nullptr;}else{if(head == nullptr){head = tail = list2;}else{tail->next = list2;tail = tail->next;}list2 = list2->next;tail->next = nullptr;}}//若list1或者list2里边有未清空的便直接插入if(list1){tail->next = list1;}if(list2){tail->next = list2;}return head;}
};

看起来特别长是吧,是的没错。并且这里还有许多细节要注意。

1.tail表示的是链表的尾节点,所以在尾插了一个节点以后要向后移动来保证tail所在位置依旧是链表尾。

2.tail在插入一个节点以后要在list1或者list2找到下一个节点后置空。

有一说一,迭代法是真的麻烦。

2.递归写法

首先,依照递归法的使用步骤。首先就要先找到重复的子问题。其实非常简单。

1.重复的子问题就是找到两个链表中小的尾插。

2.递归的结束条件,当两个链表有一个空的时候便结束递归,返回不为空的链表。

3.函数体的写法,找到小的插入到链表中。首先便要找到两个链表中比较小的数,然后搞一个新的节点,这个节点的值便是这个小的值。

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if(list1 == nullptr){return list2;}if(list2 == nullptr){return list1;}if(list1->val<list2->val)//确定头节点后一直找剩下的链表的值中较小的尾插{list1->next =  mergeTwoLists(list1->next,list2);return list1;}else{list2->next = mergeTwoLists(list1,list2->next);return list2;}}
};

递归的写法可比迭代的写法简单多了。不过,递归写法的代码不是那么好想出来的。得多多练习才行。

 

http://www.ds6.com.cn/news/83071.html

相关文章:

  • 海珠区专业做网站公司北京seo优化厂家
  • 百度怎么自己做网站吗怎么让某个关键词排名上去
  • 嘉兴网站设计999 999今天刚刚发生的重大新闻
  • 毕业视频代做网站网站网址大全
  • 昆明建企业网站多少钱互联网营销师培训班
  • 社区论坛自助建站网网站设计公司建设网站
  • 卡盟怎么做网站9个广州seo推广神技
  • 做石材一般用哪些网站推销新品上市怎么做宣传推广
  • 门户网站设计技巧竞价交易
  • 做毕业设计一个网站的数据来源windows优化大师好用吗
  • 武汉工商网站查询企业信息网站推广软件排名
  • 扁平化网站设计教程百度推广有用吗
  • 搭建网站复杂吗域名查询工具
  • html+css+js软件手机版下载电池优化大师下载
  • 阿里云做的网站空间seo站长综合查询
  • 网站开发难学吗企业官网建站
  • 自助建站整站源码南京网络优化培训
  • 付费做网站关键词优化是怎么做的呀windows优化大师有什么功能
  • 用WordPress管理app西安seo优化公司
  • 单位做网站有哪些如何设计网站步骤
  • 加强政府网站信息内容建设的实施意见跨境电商靠谱吗
  • 在国外做网站推广百度网站电话是多少
  • 成都最新通告今天seoul怎么读
  • 平台营销型网站建设cba排名最新排名
  • 怎么做网站后台界面win10优化工具下载
  • wordpress+编辑器字号优化网站标题是什么意思
  • 网站搜索引擎优化的基本内容专业网络推广公司
  • 黑龙江华龙建设集团网站重庆seo代理计费
  • 动画毕业设计代做网站国外免费舆情网站有哪些软件
  • 在线观看视频网站怎么做百度网盘破解版