首页 > 其他分享 >JZ24-反转链表

JZ24-反转链表

时间:2024-04-10 19:23:09浏览次数:22  
标签:head ListNode 反转 JZ24 next 链表 ans 节点

image
image
image

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
#include <cstddef>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param head ListNode类 
     * @return ListNode类
     */

     //给定一个单链表的头节点,pHead,长度为n,反转该链表后,返回新链表的表头   
    
    //思路:
    //递归方法
    //首先判断链表是否为空,还是只有一个元素,如果为空就直接返回

    //实例化一个新的链表ans
    //函数返回值为 链表的引用
    ListNode* ReverseList(ListNode* head) {
        // write code here
        //先判断表是否为空,或者只有一个元素
        if(head == NULL || head->next == NULL)
        {
            return head;
        }

        //递归调用
        ListNode * ans;
        //递归遍历,知道遍历到倒数第二个节点
        ans = ReverseList(head->next);

        //让该节点的下一个节点的next指向自己
        head->next->next = head;
        //让自己的next节点指向空
        head->next = NULL;
        return ans;

    }
};

标签:head,ListNode,反转,JZ24,next,链表,ans,节点
From: https://www.cnblogs.com/H43724334/p/18127200

相关文章

  • JZ06-从尾到头打印链表
    /***structListNode{*intval;*structListNode*next;*ListNode(intx):*val(x),next(NULL){*}*};*/#include<cstddef>classSolution{public://输入一个链表的头节点,按链表从头到尾的顺序返回每个......
  • Leetcode反转字串541/翻转字串的单词151/实现 strStr方法28/重复的子字符串459
    前言Leetcode541/151/28一、541题(反转字符串)题目描述:给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余......
  • leedcode-反转字符串
    自己写的,这么简单?fromtypingimportListclassSolution:defreverseString(self,s:List[str])->None:n=len(s)#获取字符串列表的长度#使用双指针法来反转字符串#初始化指针i指向字符串开头,指针j指向字符串结尾......
  • 数据结构——递增有序链表的插入
    题目:实验目的:1、掌握线性表的基本知识2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现已知顺序表L递增有序,将X插入到线性表的适当位置上,保证线性表有序。。输入格式:第1行输入顺序表长度,第2行输入递增有序的顺序表,第3行输入要插入的数据元......
  • MU-MIMO用户间干扰消除-信道反转与规则化信道反转
    BC中,数据传输的主要困难是不能在接收机间直接进行协同信号检测,因此需要在BS处消除数据间的干扰。考虑四种传输方式:信道反转、块对角化、脏纸编码和THP预编码。信道反转假设用户数等于BS天线数,即\(K=N_B\),并假设下行用户为单天线用户。令\(\tilde{x}_u\)表示第\(u\)个用户的信号......
  • 【数据结构与算法篇】单链表及相关OJ算法题
    【数据结构与算法篇】单链表及相关OJ算法题......
  • 两个链表的交集(力扣349)
    题目如下:给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[9,4]解释:[4......
  • 移除链表元素(虚拟节点法、力扣203)
    题目给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=......
  • 【C语言】链表(原理+实现)
    目录一.链表概念二.链表实现1.创建新节点2.打印链表3.尾插、头插4.尾删、头删5.查找6.指定位置前插入7.指定位置后插入8.指定位置删除9.指定位置后删除 10.销毁链表三.完整代码一.链表概念链表是线性表的一种,与顺序表不同的是,链表在物理存储结构上不连续,在......
  • 合并两个有序链表 - LeetCode 热题 27
    大家好!我是曾续缘......