当前位置: 首页 > 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.yayakq.cn/news/50736/

相关文章:

  • 公司的网站的设计高校网站建设存在问题
  • ac86u做网站服务器西安网站的设计说明
  • 公司网址怎么注册步骤花生壳内网穿透网站如何做seo优化
  • 长沙市门户网站建设iis7网站建设
  • 网站开发是什么专业百度北京网页设计软件培训学校
  • 杭州开发网站的公司客户网站开发全流程
  • 网站设计知名企业WordPress集成插件到主题
  • 企业网站定制开发流程松岗网站建设
  • 珠海市做网站公司互联网行业市场分析
  • 网站编辑没有经验可以做吗公众号做电影网站赚钱
  • wordpress社交类主题天津网站的优化
  • 百度灰色词优化排名广州seo教程
  • 宁波网站设计企业南宁市兴宁建设局网站
  • 百度智能云网站建设wordpress生成默认密码
  • 设计企业网站首页成都计算机培训机构哪个最好
  • h5响应式网站建设非盈利网站建设问题
  • 济宁市任城区建设局网站河南seo公司
  • 南京有制作网站的吗邯郸房地产网站建设
  • 网站设计公司合肥网站建设主流编程软件
  • 沈阳微营销网站制作昆明软件开发公司
  • 用护卫神做网站两学一做纪实评价系统登陆网站
  • 建设企业网站需要了解什么wordpress会员登录界面美化
  • 佛山市城乡和住房建设局网站网站开发 在线数据库
  • 动态手机网站北京建设网站制作
  • 公司网站制作教学北京网站搭建公司排行
  • 乡镇网站建设自查报告陕西网络营销优化公司
  • 网站建设 提升和扩大企业邮箱注册申请需要付费吗
  • 网站建设情况总结一个简单校园网的设计
  • 建设银行的网站进不去怎么办wordpress 网站底部美化
  • 做网站的数据库的步骤北京律师网站建设平台