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

北京市城乡建设委员会网站2345网址导航桌面版

北京市城乡建设委员会网站,2345网址导航桌面版,网络行为管理系统,ps软件免费版在哪下载一、题目 定义一个函数&#xff0c;输入一个链表的头节点&#xff0c;反转该链表并输出反转后链表的头节点。 二、示例 示例: 【输入】 1->2->3->4->5->NULL 【输出】 5->4->3->2->1->NULL 限制&#xff1a; 0 < 节点个数 < 5000 三、…

一、题目

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

二、示例

示例:

【输入】 1->2->3->4->5->NULL
【输出】 5->4->3->2->1->NULL

限制:

  • 0 <= 节点个数 <= 5000

三、解题思路

本题给出的数据结构是单向链表,那么链表中的每个节点ListNode只有2个变量,即:

int val】表示当前节点存储的值。
ListNode next】表示当前节点的后置节点的引用。

那么既然是单向链表,我们遍历链表中所有结点的时候,就只能通过调用ListNode.next的方式逐一向后遍历节点,遍历方式当然不是问题的难点,难点是如何进行翻转呢?

其实针对翻转的操作,我们只会涉及到相邻的两个节点,即:当前节点它的next节点;那么,我们需要去做如下两个操作,就可以完成翻转了:

操作1】当发现遍历到某个node节点是,其next等于null,则说明遍历到了链表的尾部,那么该节点就是翻转后的头节点,也就是本题所要获得的结果节点。
操作2】在递归遍历操作之后,执行head.next.next = head;将当前节点head的下一个节点next的后置指针指向head,这样就实现了反转;但是,此处需要注意的是,我们还需要将head.next设置为null,因为这个对于原链表的头节点很重要(因为它变为了新链表的尾节点,其next指针应该被设置为null)

解题思路说完了,我们举例,尝试将Node(1)——>Node(2)——>Node(3)——>Node(4)——>Node(5)这个链表执行翻转操作。具体操作如下图所示:

四、代码实现

class Solution {public ListNode reverseList(ListNode head) {if (head == null || head.next == null) return head; // 凤尾变龙头ListNode result = reverseList(head.next);head.next.next = head; // 翻转链表head.next = null;return result;}
}

 今天的文章内容就这些了:

写作不易,笔者几个小时甚至数天完成的一篇文章,只愿换来您几秒钟的 点赞 & 分享 。

更多技术干货,欢迎大家关注公众号“爪哇缪斯” ~ \(^o^)/ ~ 「干货分享,每天更新」

http://www.tj-hxxt.cn/news/998.html

相关文章:

  • wordpress 静态htmlseo运营推广
  • 深圳自适应网站开发公司外链提交
  • 政府门户网站建设自查报告人民日报最新头条10条
  • 网站一年多少钱?优化搜索关键词
  • 百度做网站的电话最近一周热点新闻
  • 茶网站建设需要多少钱网页制作app手机版
  • 怪兽网站模板人民日报官网
  • 卡姿兰网站建设策划书百度怎么注册自己的网站
  • mysql做网站怎么查看数据5g站长工具seo综合查询
  • 税务编码 做网站选什么网络营销企业网站优化
  • 给网站公司做网站比百度好用的搜索软件
  • 中小企业官网福建键seo排名
  • 宁波app开发公司seo是什么意思 为什么要做seo
  • 龙岩网站设计招聘信息网站开通
  • 提供邢台专业做网站alexa排名查询
  • 福建住房与城乡建设厅网站谷歌搜索引擎363
  • 肥城网站建设哪家好吸引人的微信软文
  • golang 网站开发 开源下载百度app最新版
  • 西安网站建设网晨雨清理优化大师
  • 中国十大热门网站谷歌seo推广招聘
  • 搜索引擎营销案例广州seo服务
  • 苏州做网站公网站托管
  • 揭阳门户网站开发微信朋友圈推广
  • 只让美国人做的调查网站娱乐热搜榜今日排名
  • 国外色情网站上海网站建设开发公司
  • 网址短链接生成常州seo外包
  • 医药类网站怎么做seo百度seo搜索
  • 淮安做网站app百度爱采购平台官网
  • 专业的外贸网站建设公司什么是网络营销的核心
  • 国企网站建设宁波seo外包推广排名