当前位置: 首页 > news >正文

青岛网站设计公司电话厦门百度代理

青岛网站设计公司电话,厦门百度代理,赣州网站建设百家号,网站怎么备案操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 输入一个链表,输出该链表反转之后的链表。例如: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解决方案 这个…
  • 操作系统:ubuntu22.04
  • IDE:Visual Studio Code
  • 编程语言:C++11

题目描述

输入一个链表,输出该链表反转之后的链表。例如:

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

解决方案

这个问题可以通过多种方法解决,包括递归法和迭代法。下面分别介绍这两种方法。

方法一:迭代法

使用三个指针来逐步反转链表中的每一个节点,直到遍历完整个链表。
代码实现(C++)

struct ListNode {int val;ListNode* next;ListNode( int x ) : val( x ), next( nullptr ) {}
};ListNode* reverseList( ListNode* head )
{ListNode* prev = nullptr;  // 前驱节点ListNode* curr = head;     // 当前处理的节点while ( curr != nullptr ){ListNode* nextTemp = curr->next;  // 暂存当前节点的下一个节点curr->next         = prev;        // 将当前节点指向前驱节点prev               = curr;        // 移动前驱节点到当前节点curr               = nextTemp;    // 移动到下一个待处理节点}return prev;  // 新的头节点是原链表的最后一个节点
}int main()
{ListNode* node1 = new ListNode(1);node1->next = new ListNode(2);node1->next->next = new ListNode(3);node1->next->next->next = new ListNode(4);node1->next->next->next->next = new ListNode(5);ListNode* res = reverseList(node1);ListNode *head = res;while(res != nullptr){std::cout<< res->val<<std::endl;res = res->next;}
}

输出:

5
4
3
2
1

方法二:递归法

递归地反转链表,对于每个节点,假设其后续节点已经被正确反转,然后调整当前节点的指向。

代码实现(C++)

struct ListNode {int val;ListNode* next;ListNode( int x ) : val( x ), next( nullptr ) {}
};
ListNode* reverseList( ListNode* head )
{// 基本情况:如果头节点为空或只有一个节点,则直接返回头节点if ( head == nullptr || head->next == nullptr ){return head;}// 递归调用,反转剩余链表ListNode* p = reverseList( head->next );// 反转当前节点与下一个节点之间的连接head->next->next = head;head->next       = nullptr;return p;  // 返回新的头节点
}int main()
{ListNode* node1 = new ListNode(1);node1->next = new ListNode(2);node1->next->next = new ListNode(3);node1->next->next->next = new ListNode(4);node1->next->next->next->next = new ListNode(5);ListNode* res = reverseList(node1);ListNode *head = res;while(res != nullptr){std::cout<< res->val<<std::endl;res = res->next;}
}

输出:

5
4
3
2
1
http://www.15wanjia.com/news/17436.html

相关文章:

  • 自己做网站百度会收录外贸seo优化
  • 视频上到什么地方可以做网站链接网站发帖推广平台
  • 阿里巴巴国际站骗局百度seo排名点击软件
  • 波多野结衣网站建设新手怎样推销自己的产品
  • 网站建设公司赚钱吗在线视频观看免费视频22
  • 网站建设百度云优化大师win7
  • 哈尔滨制作网站多少钱seo网站优化策划书
  • 扬州门户网站开发公司外链工具xg
  • 云南网官方网站seo排名技术软件
  • 重庆网建百度推广优化是什么意思
  • 简述上课网站建设所用的技术架构sem优化推广
  • 做游戏类型的网站的好处上海网站设计公司
  • 卓越网站建设的优点友情链接系统
  • 微商货源网站大全百度新站关键词排名
  • 东莞网站建设企业如何用模板做网站
  • 淄博专业网站建设价格许昌seo推广
  • 教育类网页设计素材深圳的seo网站排名优化
  • 网站用图片做背景网络服务商主要包括
  • 网上作业网站怎么做的网络的推广方式有哪些
  • 日用品网站1万2做代理优化内容
  • 合肥高端网站建设公司哪家好网络推广渠道都有哪些
  • 详情页用什么软件制作如何做关键词优化
  • 网站开发流程龙岩百度seo关键词点击软件
  • 建设网站翻译英文百度竞价推广登录
  • 网站开通申请百度竞价排名是哪种方式
  • 凡科做网站技巧百度网盘资源搜索入口
  • 受欢迎的免费网站建设营销成功的案例
  • 网站制作 语言选择怎么做seo批量建站
  • 网站404错误来源兰州seo
  • 简单静态网站模板舆情分析报告案例