当前位置:网站首页>2022.02.13 - NC001. Reverse linked list
2022.02.13 - NC001. Reverse linked list
2022-07-06 08:21:00 【A CAI continues to work hard】
List of articles
1. subject


2. Ideas
(1) Utilization stack ( Overtime )
- First use the stack push() Press the nodes into the stack in turn , Reuse stack pop() Pop up the nodes in turn , Reversal can be achieved , But it will time out .
(2) Discussion by situation
- Discuss separately 0 Nodes 、1 Nodes 、2 Nodes 、3 More than nodes :0 Nodes 、1 Nodes return directly head that will do ;2 Just reverse the nodes directly ;3 More than nodes need to use two variables to point to head Of next and next Of next,head Used to point to the node pointed to in the reverse operation ,next Used to point to the node pointed to in the reverse operation , That is, the head node of the new linked list ,nextNext Used to point to the head node of the original linked list .
(3) Optimize
- And (2) The idea is basically the same , But more concise .
- Variable last Point to the node pointed to in the reverse operation , Variable cur Point to the node pointed to in the reverse operation , That is, the head node of the new linked list , Variable next Point to the head node of the original linked list .
- Because the order in the loop body is moving variables next -> Reverse operation -> Moving variables last -> Moving variables cur, So finally, variables last Point to the head node of the new list .
3. Code
import java.util.Stack;
public class Test {
public static void main(String[] args) {
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
listNode1.next = listNode2;
listNode2.next = listNode3;
Solution2 solution = new Solution2();
ListNode listNode = solution.ReverseList(listNode1);
System.out.println(listNode.val);
System.out.println(listNode.next.val);
System.out.println(listNode.next.next.val);
}
}
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
class Solution {
public ListNode ReverseList(ListNode head) {
Stack<ListNode> stack = new Stack<>();
while (head != null) {
stack.push(head);
head = head.next;
}
head = stack.pop();
ListNode listNode = head;
while (!stack.isEmpty()) {
listNode.next = stack.pop();
listNode = listNode.next;
}
return head;
}
}
class Solution1 {
public ListNode ReverseList(ListNode head) {
if (head != null) {
// At least two points
if (head.next != null) {
// At least three points
if (head.next.next != null) {
ListNode next = head.next;
ListNode nextNext = next.next;
head.next = null;
while (nextNext != null) {
next.next = head;
head = next;
next = nextNext;
nextNext = next.next;
}
next.next = head;
head = next;
}
// There are only two points
else {
head.next.next = head;
head = head.next;
head.next.next = null;
}
}
}
return head;
}
}
class Solution2 {
public ListNode ReverseList(ListNode head) {
if (head == null) {
return null;
}
ListNode last = null;
ListNode cur = head;
ListNode next = null;
while (cur != null) {
next = cur.next;
cur.next = last;
last = cur;
cur = next;
}
return last;
}
}
边栏推荐
- 远程存储访问授权
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Secure captcha (unsafe verification code) of DVWA range
- Understanding of law of large numbers and central limit theorem
- Erc20 token agreement
- 升级 TiDB Operator
- [t31zl intelligent video application processor data]
- 让学指针变得更简单(三)
- What is the use of entering the critical point? How to realize STM32 single chip microcomputer?
猜你喜欢

Fibonacci sequence
![[research materials] 2021 China online high growth white paper - Download attached](/img/51/bea6179e4fac88f8b550b4213a2bca.jpg)
[research materials] 2021 China online high growth white paper - Download attached
![[research materials] 2021 Research Report on China's smart medical industry - Download attached](/img/c8/a205ddc2835c87efa38808cf31f59e.jpg)
[research materials] 2021 Research Report on China's smart medical industry - Download attached

Sanzi chess (C language)

ESP系列引脚说明图汇总
![[research materials] 2022 enterprise wechat Ecosystem Research Report - Download attached](/img/35/898a8086bc35462b0fcb9e6b58b86b.jpg)
[research materials] 2022 enterprise wechat Ecosystem Research Report - Download attached

C language - bit segment

Let the bullets fly for a while

IoT -- 解读物联网四层架构

Artcube information of "designer universe": Guangzhou implements the community designer system to achieve "great improvement" of urban quality | national economic and Information Center
随机推荐
【T31ZL智能视频应用处理器资料】
Résumé des diagrammes de description des broches de la série ESP
Colorlog结合logging打印有颜色的日志
The resources of underground pipe holes are tight, and the air blowing micro cable is not fragrant?
你想知道的ArrayList知识都在这
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
The State Economic Information Center "APEC industry +" Western Silicon Valley will invest 2trillion yuan in Chengdu Chongqing economic circle, which will surpass the observation of Shanghai | stable
让学指针变得更简单(三)
[research materials] 2021 Research Report on China's smart medical industry - Download attached
leetcode刷题 (5.31) 字符串
Secure captcha (unsafe verification code) of DVWA range
MFC sends left click, double click, and right click messages to list controls
649. Dota2 Senate
Go learning notes (3) basic types and statements (2)
Migrate data from CSV files to tidb
Nft智能合约发行,盲盒,公开发售技术实战--拼图篇
The Vice Minister of the Ministry of industry and information technology of "APEC industry +" of the national economic and information technology center led a team to Sichuan to investigate the operat
Golang DNS write casually
【MySQL】数据库的存储过程与存储函数通关教程(完整版)
ESP系列引脚說明圖匯總