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

国外域名的网站怎么做重庆微信营销网站

国外域名的网站怎么做,重庆微信营销网站,加大门户网站安全制度建设,wordpress 商场模板题目出处 92-反转链表II-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 92-反转链表II-官方解法 前言 链表的操作问题,一般而言面试(机试)的时候不…

题目出处

92-反转链表II-题目出处

题目描述

在这里插入图片描述

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

92-反转链表II-官方解法

前言

链表的操作问题,一般而言面试(机试)的时候不允许我们修改节点的值,而只能修改节点的指向操作。

思路通常都不难,写对链表问题的技巧是:一定要先想清楚思路,并且必要的时候在草稿纸上画图,理清「穿针引线」的先后步骤,然后再编码。

方法1:穿针引线

思路:

在这里插入图片描述
在这里插入图片描述

代码示例:(Java)

@Data
class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) {this.val = val;}ListNode(int val, ListNode next) {this.val = val;this.next = next;}
}public class Solution1 {public ListNode reverseBetween(ListNode head, int left, int right) {// 因为头节点有可能发生变化,使用虚拟头节点可以避免复杂的分类讨论ListNode dummyNode = new ListNode(-1);dummyNode.next = head;ListNode pre = dummyNode;// 第 1 步:从虚拟头节点走 left - 1 步,来到 left 节点的前一个节点// 建议写在 for 循环里,语义清晰for (int i = 0; i < left - 1; i++) {pre = pre.next;}// 第 2 步:从 pre 再走 right - left + 1 步,来到 right 节点ListNode rightNode = pre;for (int i = 0; i < right - left + 1; i++) {rightNode = rightNode.next;}// 第 3 步:切断出一个子链表(截取链表)ListNode leftNode = pre.next;ListNode curr = rightNode.next;// 注意:切断链接pre.next = null;rightNode.next = null;// 第 4 步:同第 206 题,反转链表的子区间reverseLinkedList(leftNode);// 第 5 步:接回到原来的链表中pre.next = rightNode;leftNode.next = curr;return dummyNode.next;}private void reverseLinkedList(ListNode head) {// 也可以使用递归反转一个链表ListNode pre = null;ListNode cur = head;while (cur != null) {ListNode next = cur.next;cur.next = pre;pre = cur;cur = next;}}}

复杂度分析

  • 时间复杂度:O(N),其中 N 是链表总节点数。最坏情况下,需要遍历整个链表。
  • 空间复杂度:O(1)。只使用到常数个变量。

方法2:一次遍历「穿针引线」反转链表(头插法)

思路:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

代码示例:(Java)

public class Solution2 {public ListNode reverseBetween(ListNode head, int left, int right) {// 设置 dummyNode 是这一类问题的一般做法ListNode dummyNode = new ListNode(-1);dummyNode.next = head;ListNode pre = dummyNode;for (int i = 0; i < left - 1; i++) {pre = pre.next;}ListNode cur = pre.next;ListNode next;for (int i = 0; i < right - left; i++) {next = cur.next;cur.next = next.next;next.next = pre.next;pre.next = next;}return dummyNode.next;}}

复杂度分析

  • 时间复杂度:O(N),其中 N 是链表总节点数。最多只遍历了链表一次,就完成了反转。
  • 空间复杂度:O(1)。只使用到常数个变量。

考察知识点

收获

Gitee源码位置

92-反转链表II-源码

http://www.yayakq.cn/news/455695/

相关文章:

  • 如何给WordPress网站更换域名山东专业网站建设
  • 河南网站托管运河经济开发区建设局网站
  • 济宁建设企业网站wordpress 同城生活
  • 教育行业网站网站开发需要多少钱怎样
  • 国外自建站好做吗亚马逊海外网站
  • 购物网站名字大全免费入驻的电商平台
  • 网站制作公司昆明个人 导航网站 备案
  • 做外贸站推广网站注册系统怎么做
  • 自己做的小网站上海建筑建材业网官网入口
  • 厦门网站建设格北仑建设局网站
  • 怎么建设收费网站最专业的营销网站建设公司
  • 上海网站建设心得有哪些网站做简历比较好
  • 网站开发需要数据库技术电商类网站咋做
  • 男女做的那些事情的网站做一网站要什么软件
  • 给网站添加关键词成都品牌logo设计
  • 一般网站建设中的推广费用个股期权网站开发
  • 营销网站建设实力派易网拓江东怎样优化seo
  • 网站建设法律可行性江西城乡建设培训中心网站
  • 合作社网站建设wordpress主题uifun
  • 做网站论文建设银行网站网页丢失
  • 做网站接私活价格怎么算文化推广网站建设心得
  • 做外贸c2c网站有哪些做公司网站建设价格低
  • 打开这个网站宜昌建设网站公司
  • 专业网页制作网站推广公司asp微信网站
  • 建网站哪家好案例楼市最新消息2022年房价走势
  • 用iis做的网站怎么更改端口景观设计说明
  • 内衣网站建设推广wordpress插件如何开发
  • asp.net 网站建设方案保健品网站建设方案书模板
  • 全flash网站下载免费注册网站流程
  • 厦门公司网站设计龙岩网站优化费用