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

武昌网站建设怎么在微信上卖东西

武昌网站建设,怎么在微信上卖东西,外贸出口网,请别人做网站二、反转链表 本题给我们了一个单链表的头节点head,要求我们把这个单链表的连接顺序进行逆置,并返回逆置后的链表头节点。 1.头插法 我们需要先创建一个新的头节点ph,然后遍历给出的单链表,把遍历到的每一个节点用头插法接到ph的…

二、反转链表

在这里插入图片描述
本题给我们了一个单链表的头节点head,要求我们把这个单链表的连接顺序进行逆置,并返回逆置后的链表头节点。

1.头插法

我们需要先创建一个新的头节点ph,然后遍历给出的单链表,把遍历到的每一个节点用头插法接到ph的后面,这样我们就可以得到一个反转后的链表了,最后返回ph的next即可。需要注意的是,在进行头插语句之前,我们需要把当前节点的下一个节点先存储起来,否则会导致遍历节点的next丢失,具体代码如下:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {if(head == null) {return null;}ListNode ph = new ListNode();ListNode p = head;ListNode n;while(p != null) {n = p.next;p.next = ph.next;ph.next = p;p = n;}return ph.next;}
}

复杂度分析

  • 时间复杂度:O(n),只需遍历一遍原链表即可。
  • 空间复杂度:O(1)。

2.递归

递归法的要点在于我们需要先假设我们要处理的这个节点之前的节点已经全部完成反转,然后对于这个节点,我们只需要将它的next指向它的上一个节点即可,或者说我们需要将指针指向的节点的next的next指向这个节点本身,具体代码如下:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {if(head == null) {return null;}if(head.next == null) {return head;}ListNode prev = head.next;ListNode p = prev.next; head.next.next = head;head.next = null;return process(prev,p);}public ListNode process(ListNode prev,ListNode p) {if(p == null) {return prev;}if(p.next == null) {p.next = prev;return p;}ListNode ph = process(p,p.next);p.next = prev;return ph;}
}

复杂度分析

  • 时间复杂度:O(n),需要遍历整个链表。
  • 空间复杂度:O(n),递归调用压栈的空间取决于原链表的长度。
http://www.dtcms.com/a/514835.html

相关文章:

  • 网站高端定制课外辅导东莞网站建设技术支持
  • 合肥建筑网站营销方案策划书怎么写
  • 专业合肥网站建设东营网站建设教程
  • 谁做彩票网站代理建网站的公司排名
  • 注册一个公司网站的费用wordpress棋牌
  • 贴吧网站开发需求分析新开传奇网站发布网单
  • 网站布局怎么做富阳网站建设洛洛科技
  • 在工商局网站怎么做清算app市场分析
  • 土木毕业设计代做网站什么网站可以做市场分析呢
  • 小企业门户网站建设网站开发的基本过程
  • 微网站平台微网站建设方案网络优化工程师
  • 软件下载网站如何履行网站建设要学习什么
  • 微信商城网站凡科网下载
  • 网站地址栏图标怎么做平面设计主要做什么内容
  • 湖北洲天建设集团有限公司网站九牧全球市场地位
  • 广东建设厅网站网站建设费如何账务处理
  • 东网站建设wordpress留言发送邮件
  • 网站开发是编程吗石家庄seo培训
  • 给一个网站做需求分析广州网络营销十年乐云seo
  • 兰州做it网站运营的怎么样今天江苏最新新闻
  • 平和网站建设猎头公司好做吗
  • 网站建设尢首先金手指东莞网上推广
  • 济南网站建设公司网站建设dw 什么软件
  • app购物网站建设vi设计是平面设计吗
  • 网页设计与网站建设连接数据库手机网站标准字体大小
  • 做家乡网站需要哪些内容湘潭做网站价格 磐石网络
  • 龙潭古镇网站建设网站选择语言怎么做
  • 中国建设工程招标官方网站营销外包公司
  • 网站后台使用什么做的网站建设中应注意的问题
  • 百度做网站吗舆情信息