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

网站建设好后给领导作介绍最新体育新闻头条

网站建设好后给领导作介绍,最新体育新闻头条,百度爱采购官网,最好看的免费观看视频西瓜文章目录 一、24. 两两交换链表中的节点1.题目简介2.解题思路3.代码4.运行结果 二、50. Pow(x, n)1.题目简介2.解题思路3.代码4.运行结果 三、2331. 计算布尔二叉树的值1.题目简介2.解题思路3.代码4.运行结果 总结 一、24. 两两交换链表中的节点 1.题目简介 24. 两两交换链表… 文章目录 一、24. 两两交换链表中的节点1.题目简介2.解题思路3.代码4.运行结果 二、50. Pow(x, n)1.题目简介2.解题思路3.代码4.运行结果 三、2331. 计算布尔二叉树的值1.题目简介2.解题思路3.代码4.运行结果 总结 一、24. 两两交换链表中的节点 1.题目简介 24. 两两交换链表中的节点 给你一个链表两两交换其中相邻的节点并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题即只能进行节点交换。 2.解题思路 递归思路 先处理第二个节点之后的节点再将前两个节点进行交换最后连接后面处理好的节点 迭代思路 双指针法(三指针法) 两个指针进行交换第三个指针进行遍历直到将链表遍历结束 3.代码 递归 /*** 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* swapPairs(ListNode* head) {if(head nullptr || head - next nullptr) return head;ListNode* t head - next - next;ListNode* next head - next;next - next head;head - next swapPairs(t);return next;} };迭代 /*** 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* swapPairs(ListNode* head) {if(head nullptr || head - next nullptr) return head;ListNode* prev head,* cur head - next,* next cur - next;ListNode* newhead cur;int flag 1;//假设链表的节点个数为偶数while(next){cur - next prev;if(next - next)//链表的节点个数是偶数个或者未到达链表结尾{prev - next next - next;cur next - next;prev next;next cur - next;}else//如果链表的结点个数是奇数个{flag 0;prev - next next;next next - next;}}if(flag){cur - next prev;prev - next next;}return newhead;} };4.运行结果 递归 迭代 二、50. Pow(x, n) 1.题目简介 50. Pow(x, n) 2.解题思路 思路先计算x的n / 2次再相乘(注意n的正负性和奇偶性) 因为可能会出现n是INT_MIN的情况因为-INT_MIN会导致溢出所以我们将n的类型改为long long。 3.代码 class Solution { public:double myPow(double x, int n) {return n 0 ? 1 / func(x, -(long long)n) : func(x, n);}double func(double x, long long n){if(n 0) return 1.0;double t myPow(x, n / 2);double ret t * t;if(n % 2) ret * x;return ret;} };4.运行结果 三、2331. 计算布尔二叉树的值 1.题目简介 2331. 计算布尔二叉树的值 2.解题思路 先计算孩子节点再根据孩子节点的布尔值和自身所表示的运算符来计算自身的布尔值 3.代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/class Solution { public:bool evaluateTree(TreeNode* root) {if(root - val 0) return false;if(root - val 1) return true;if(root - val 2) return evaluateTree(root - left) || evaluateTree(root - right);return evaluateTree(root - left) evaluateTree(root - right);} };4.运行结果 总结 今天是递归、搜索与回溯算法练习的第2天 坚持就是胜利继续加油。 如果本篇文章对你有所启发的话希望可以多多支持作者谢谢大家
http://icebutterfly214.com/news/64214/

相关文章:

  • 2025上海全屋定制哪家口碑好?上海全屋定制厂家榜单
  • 2025上海全屋定制家具工厂榜单
  • 哈希集合
  • 102302142罗伟钊第三次作业
  • 实用指南:程序人生,人生如戏
  • [数据存储/数据库/分布式系统] 一致性哈希算法
  • 文本文件与基于二进制文件的存储的学生管理系统
  • 251124省运会结束啦
  • 2025留学代写危机应对指南:5家靠谱机构助你重返校园
  • 2025年11月美国实习中介排名全攻略:从简历到入职的实力派之选,解锁名企资源的职场引路人
  • 不那么详细的多项式笔记
  • Ai元人文:行为化不是放弃概念,而是通往概念的坚实阶梯
  • 2025美国留学机构TOP榜:从申请到就业的全链条护航者
  • 复制 deepseek think 思考 内容 的方法
  • Scrum冲刺阶段 Day One
  • 2025年11月口碑好的钢骨架聚乙烯塑料复合管厂家推荐排行榜哪家好
  • 2025-11-23~24 hetao1733837的刷题记录
  • 2025/11/24~2025/11/28 做题笔记 - sb
  • 高性能AI股票预测分析报告 - 2025年11月24日 - 20:46:52
  • 开题报告模板详解:手把手教你写出完美开题报告
  • 「张张讲AI」AI资讯公众号:联动深圳人才集团,讲师输出资讯+授课,助力AI落地
  • 使用frp实现内网穿透
  • 2025年11月GEO服务商推荐评测报告:从稳定性到AI能力解决方案剖析
  • macOS怎么关闭指定软件的开机自启
  • 2025.11.24 - A
  • 一个复数可以被表示为另一个复数的平方
  • 2025热流道厂家选哪家好?热流道厂家排名实力榜单
  • 106_尚硅谷_continue课堂练习
  • 2025气动接头生产厂家推荐,优质气动接头厂家精选
  • 2025电动车连接器厂家优选,靠谱锂电池连接器厂家推荐测评