当前位置:网站首页>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;
}
}
边栏推荐
- C language - bit segment
- Asia Pacific Financial Media | "APEC industry +" Western Silicon Valley invests 2trillion yuan in Chengdu Chongqing economic circle to catch up with Shanghai | stable strategy industry fund observatio
- "Designer universe" Guangdong responds to the opinions of the national development and Reform Commission. Primary school students incarnate as small community designers | national economic and Informa
- Summary of MySQL index failure scenarios
- Circuit breaker: use of hystrix
- Oracle time display adjustment
- Use dumping to back up tidb cluster data to S3 compatible storage
- [t31zl intelligent video application processor data]
- [research materials] 2021 live broadcast annual data report of e-commerce - Download attached
- Yyds dry goods inventory three JS source code interpretation eventdispatcher
猜你喜欢

2022 Inner Mongolia latest construction tower crane (construction special operation) simulation examination question bank and answers

Step by step guide to setting NFT as an ens profile Avatar

"Designer universe": "benefit dimension" APEC public welfare + 2022 the latest slogan and the new platform will be launched soon | Asia Pacific Financial Media

Let the bullets fly for a while

Uibehavior, a comprehensive exploration of ugui source code

Understanding of law of large numbers and central limit theorem

【T31ZL智能视频应用处理器资料】

The resources of underground pipe holes are tight, and the air blowing micro cable is not fragrant?

hcip--mpls

Analysis of pointer and array written test questions
随机推荐
Use br to back up tidb cluster data to S3 compatible storage
leetcode刷题 (5.31) 字符串
华为云OBS文件上传下载工具类
备份与恢复 CR 介绍
远程存储访问授权
logback1.3. X configuration details and Practice
On the day of resignation, jd.com deleted the database and ran away, and the programmer was sentenced
"Designer universe": "benefit dimension" APEC public welfare + 2022 the latest slogan and the new platform will be launched soon | Asia Pacific Financial Media
Nft智能合约发行,盲盒,公开发售技术实战--拼图篇
MFC 给列表控件发送左键单击、双击、以及右键单击消息
从表中名称映射关系修改视频名称
Colorlog结合logging打印有颜色的日志
Migrate data from a tidb cluster to another tidb cluster
Huawei cloud OBS file upload and download tool class
[Yugong series] February 2022 U3D full stack class 011 unity section 1 mind map
[research materials] 2022 China yuancosmos white paper - Download attached
Erc20 token agreement
Day29-t77 & t1726-2022-02-13-don't answer by yourself
CISP-PTE实操练习讲解
[Yugong series] February 2022 U3D full stack class 010 prefabricated parts