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

网站模板设计举例南昌网站seo

网站模板设计举例,南昌网站seo,山儿网站建设公司,哪里办网站不用备案21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 链表解题经典三把斧: 哑巴节点栈快慢指针 此题比较容易想到的解法是迭代法,生成哑巴节点,然后迭代生成后续节点。…

21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
在这里插入图片描述

链表解题经典三把斧:

  • 哑巴节点
  • 快慢指针

此题比较容易想到的解法是迭代法,生成哑巴节点,然后迭代生成后续节点。

方法一、迭代法

Swift

func mergeTwoLists(_ list1: ListNode?, _ list2: ListNode?) -> ListNode? {guard list1 != nil else {return list2}guard list2 != nil else {return list1}var list1 = list1var list2 = list2let dummyNode = ListNode(-1);var prev:ListNode? = dummyNodewhile list1 != nil && list2 != nil {if list1!.val < list2!.val {prev?.next = list1list1 = list1!.next}else {prev?.next = list2list2 = list2!.next}prev = prev?.next}prev?.next = (list1 != nil) ? list1 : list2return dummyNode.next}

OC

//回溯法
- (ListNodeOC *_Nullable)mergeTwoLists:(ListNodeOC * _Nullable)list1list2:(ListNodeOC * _Nullable)list2 {if (!list1) {return list2;}if (!list2) {return list1;}ListNodeOC *dummyNode = [[ListNodeOC alloc] initWithVal:-1];ListNodeOC *pre = dummyNode;while (list1 && list2) {if (list1.val < list2.val) {pre.next = list1;list1 = list1.next;}else {pre.next = list2;list2 = list2.next;}pre = pre.next;}pre.next = list1 ? list1 : list2;return dummyNode.next;
}

方法二、递归法

代码简洁、思路清晰、稍占内存的解法。

Swift

func mergeTwoLists(_ list1: ListNode?, _ list2: ListNode?) -> ListNode? {guard let list1 = list1 else { return list2 }guard let list2 = list2 else { return list1 }if list1.val < list2.val {list1.next = mergeTwoLists(list1.next, list2)return list1}else {list2.next = mergeTwoLists(list1, list2.next)return list2}}

OC

//递归法
- (ListNodeOC * _Nullable)mergeTwoLists:(ListNodeOC * _Nullable)list1list2:(ListNodeOC * _Nullable)list2 {//递归终止条件if (!list1) {return list2;}if (!list2) {return list1;}if (list1.val < list2.val) {list1.next = [self mergeTwoLists:list1.next list2:list2];return list1;}else {list2.next = [self mergeTwoLists:list1 list2:list2.next];return list2;}
}
http://www.hkea.cn/news/308328/

相关文章:

  • 公司网站如何做宣传百度视频推广怎么收费
  • 淄博市 网站建设报价郑州seo外包阿亮
  • 网络服务商是指什么网站优化排名工具
  • 网站优化的分析比较好的品牌策划公司有哪些
  • 国外比较好的资源网站电商运营推广是做什么的
  • 佛山房地产网站建设seo实战培训王乃用
  • 如何做可以赚钱的网站关键词如何快速排名
  • 深圳品牌做网站公司有哪些百度app推广
  • 重庆建设行业信息网站搜狗登录入口
  • 同仁行业网站建设报价北京做的好的seo公司
  • 陕西自助建站做网站郑州外语网站建站优化
  • 小型企业网站系统cilimao磁力猫最新版地址
  • 铁岭网站建设移动网站广东网站seo
  • 网站模板插件sem和seo
  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程