本文主要是介绍力扣刷题--LCR 141. 训练计划 III【简单】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
给定一个头节点为 head 的单链表用于记录一系列核心肌群训练编号,请将该系列训练编号 倒序 记录于链表并返回。
示例 1:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2]
输出:[2,1]
示例 3:
输入:head = []
输出:[]
算法分析
逆置单链表:使用头插法
完整代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* trainningPlan(ListNode* head) {//如果没有节点或者只有一个节点直接返回一个节点if(head==NULL||head->next==NULL)return head;//逆置单链表ListNode newhead;//定义两个节点分别维护第一个节点和第二个节点ListNode* p=head;ListNode*q=head->next;while(p!=NULL){q=p->next;p->next=newhead.next;newhead.next=p;p=q;}return newhead.next; }
};
这篇关于力扣刷题--LCR 141. 训练计划 III【简单】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!