本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 21 篇

[title]题目[/title] 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 来源:力扣(LeetC …

阅读全文 »

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 20 篇

[title]题目[/title] 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 &nbs …

阅读全文 »

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 19 篇

[title]题目[/title] 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。   示例 1: 输入:head = [3,2,0,-4], pos = …

阅读全文 »

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 18 篇

题目 给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。   示例 1: 输入:head = [1,0,1] 输出:5 解释:二进制数 (101) 转化为十进制数 (5) 示例 2: …

阅读全文 »

首先下载Java 8的JDK开发包: jdk-8u151-windows-x64 想去官网下载的,地址是这个:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 配置环境变量  

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 17 篇

[title]题目[/title] 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。   示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结 …

阅读全文 »

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 16 篇

[title]题目[/title] 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 …

阅读全文 »

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 15 篇

[title]题目[/title] 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 — head = [4,5,1,9],它可以表示为: 示例 1: 输入: head = [4,5,1,9], node = 5 输出: [4,1, …

阅读全文 »

本文已收录于 LeetCode刷题 系列,共计 28 篇,本篇是第 14 篇

[title]题目[/title] 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。   示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = …

阅读全文 »