首页 > 其他分享 >LeetCode:206.反转链表

LeetCode:206.反转链表

时间:2025-01-10 16:22:59浏览次数:1  
标签:p2 p1 temp val 206 -- next 链表 LeetCode

flowchart TD
A[开始] --> B{p1 是否为空}
B -->|No| C[保存 p1.next 到 temp]
C --> D[将 p1.next 指向 p2]
D --> E[更新 p2 为 p1]
E --> F[更新 p1 为 temp]
F --> B
B -->|Yes| G[返回 p2]

LeetCode:206.反转链表

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var reverseList = function(head) {
    let p1=head;
    let p2=null
    while(p1){
        let temp=p1.next
        p1.next=p2
        p2=p1
        p1=temp
    }
    return p2;
};

image-20250110161249965

标签:p2,p1,temp,val,206,--,next,链表,LeetCode
From: https://www.cnblogs.com/KooTeam/p/18664165

相关文章

  • LeetCode算法题:删除排序链表中的重复元素
    题目描述下面是给定的一段代码 /***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val......
  • 23. 合并 K 个升序链表(难)
    目录题目法一:暴力法二:递归+分治法三、找最小题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它......
  • LeetCode Number.79 单词搜索
    classSolution{public:boolans;intdir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};boolcheck(int&x,int&y,vector<vector<char>>&board){if(x<0||x>=board.size())returnfalse;if(y<0||y>=bo......
  • LeetCode Top Interview 150 - Hashmap
    Inthischapter,thereareseveralproblemsthatareratherstraightforwardandpossessnumerousapproaches.Asaresult,thosequestionshavebeenomittedherein.GroupAnagrams GroupAnagramshttps://leetcode.cn/problems/group-anagrams/Difficulty:MED......
  • 链表的基础操作
    树、链表都是链式结构链表的创建(节点的插入---尾部插入)新建节点判断head指针上是否有数据找到当前链表的最后一个节点,并将新节点放在链表的尾部链表的遍历链表的查找头插法......
  • LeetCode 744. 寻找比目标字母大的最小字母
    问题描述给定一个字符数组letters,该数组按非递减顺序排序,以及一个字符target。letters里至少有两个不同的字符。任务是返回letters中大于target的最小的字符。如果不存在这样的字符,则返回letters的第一个字符。 解题思路这个问题可以通过以下步骤解决:排序:首先,......
  • leetcode131 分割回文串
    leetcode131思路:回溯比如说aab,对于每个元素currentNum,有两种选择:1.如果currentNum<len-1,可以将当前元素加入到currentStr中,然后dfs(start,currentNum+1)。而currentNum==len-1时不能dfs(start,currentNum+1),这样下一轮循环就执行以下代码了if(currentNum==len){ ans.add......
  • 19. 删除链表的倒数第n个节点
    题目卡哥思路卡哥是用双指针来解题,我没想出来这个思路。精华部分:双指针的经典应用,如果要到达倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾(nullptr)。slow所指向的节点就是倒数第n个节点。跟着卡哥代码敲了下:/***Definitionforsingly-linked......
  • 检测相邻递增子数组 II - LeetCode 3350 解题思路与代码解析
    检测相邻递增子数组II-LeetCode3350解题思路与代码解析在本篇博客中,我们将深入解析一道中等难度的算法题——检测相邻递增子数组II。通过这道题,我们将学习如何高效地处理数组中的递增子数组问题,并理解解决该问题的最佳策略。题目描述给定一个由n个整数组成的数组......
  • 160. 相交链表
    [题目连接](160.相交链表-力扣(LeetCode))解题思路:短链表长度为x,长链表长度为y,想让长链表走y-x,然后两个链表同时走,如果相遇直接返回,否则返回空即可。注意,题目明确了,两个链表无环代码classSolution:defgetIntersectionNode(self,headA:ListNode,headB:Li......