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

东营建设信息网站详情页设计说明

东营建设信息网站,详情页设计说明,江西省赣州市南康家具城,wordpress restfulapi目录剑指 Offer 06. 从尾到头打印链表剑指 Offer 24. 反转链表剑指 Offer 35. 复杂链表的复制剑指 Offer 06. 从尾到头打印链表 原题链接#xff1a;06. 从尾到头打印链表 最容易想到的思路就是先从头到尾打印下来#xff0c;然后 reverse 一下#xff0c;但这里我们使用递归… 目录剑指 Offer 06. 从尾到头打印链表剑指 Offer 24. 反转链表剑指 Offer 35. 复杂链表的复制剑指 Offer 06. 从尾到头打印链表 原题链接06. 从尾到头打印链表 最容易想到的思路就是先从头到尾打印下来然后 reverse 一下但这里我们使用递归。 class Solution { public:vectorint reversePrint(ListNode *head) {if (head nullptr) return {};auto res reversePrint(head-next);res.push_back(head-val);return res;} };递归的缺点是元素一多容易爆栈我们还可以利用栈的特性来完成这道题。 剑指 Offer 24. 反转链表 原题链接24. 反转链表 递归解法清晰易懂 class Solution { public:ListNode *reverseList(ListNode *head) {if (!head || !head-next) return head;auto newHead reverseList(head-next);head-next-next head;head-next nullptr;return newHead;} };当链表长度为 000 或 111 时无需反转。 考虑链表 1→2→3→4→∅1\to2\to3\to4\to\varnothing1→2→3→4→∅当调用 reverseList(1-next) 后链表变成 1→2←3←41\to2\leftarrow3\leftarrow41→2←3←4此时需要让 222 指向 111即 2-next 1相当于 1-next-next 1之后还需要让 111 指向 ∅\varnothing∅即 1-next nullptr。 迭代解法 class Solution { public:ListNode *reverseList(ListNode *head) {ListNode *pre nullptr;ListNode *cur head;while (cur) {ListNode *tmp cur-next;cur-next pre;pre cur;cur tmp;}return pre;} };设置两个指针每次让后一个节点指向前一个节点然后两个指针同时右移一位。 剑指 Offer 35. 复杂链表的复制 原题链接35. 复杂链表的复制 我们先来看一下普通链表是如何复制的。 class Node { public:int val;Node *next;Node() : val(0), next(nullptr) {}Node(int _val) : val(_val), next(nullptr) {}Node(int _val, Node *_next) : val(_val), next(_next) {} };class Solution { public:Node *copyList(Node *head) {Node *cur head;Node *dummy new Node(-1), *pre dummy;while (cur) {Node *newNode new Node(cur-val);pre-next newNode;cur cur-next, pre pre-next; // cur在原链表上移动pre在新链表上移动}return dummy-next;} };因为普通链表只有一个 next 指针且指向下一个节点所以我们可以用迭代的方法复制一个普通链表当然也可以递归。但是复杂链表还有一个 random 指针指向随机一个节点所以迭代方法失效。 我们可以通过哈希表来建立原链表和新链表之间的对应关系具体来说map[原链表中的某个节点] 新链表中相应的节点这样就可以随机访问新链表中的节点了。 class Solution { public:Node *copyRandomList(Node *head) {if (!head) return head;unordered_mapNode *, Node * map;Node *cur head;while (cur) {map[cur] new Node(cur-val);cur cur-next;}cur head;while (cur) {map[cur]-next map[cur-next];map[cur]-random map[cur-random];cur cur-next;}return map[head];} };
http://www.dnsts.com.cn/news/126791.html

相关文章:

  • wordpress网站搭建教程视频网站建设带支付源码
  • 领手工在家做的网站kindeditor wordpress
  • 重庆中国建设银行招聘信息网站新公司名称核准在哪个网站
  • asp网站开发招聘中英文切换的网站怎么做的
  • 制作一个网站的步骤是什么WordPress会员注册管理
  • 公司找人做网站wordpress有收益嘛
  • 甘德县公司网站建设wordpress ajax form
  • php大气企业网站上海app服务商
  • 网站建设全包一条龙手机如何做软件
  • 瑞安 网站建设培训如何注册一个设计网站
  • 登陆中国建设银行网站我的账户密码怎么就有了?怎么清除京东官方网上商城
  • 海外音乐类网站做的比较好的济南市工程建设标准定额站网站
  • 企业网站有哪些举几个例子自助建站帮助网
  • 苏州网站网络推广门户网站建设经济交流材料
  • 微信网站方案视频网站程序
  • 布吉网站建设多少钱做广告牌子
  • 旅游网站设计与实现开题报告wordpress 无法登录后台
  • 旅游网站开发近五年参考文献做网络推广要学些什么
  • 河北省唐山市建设规划局的网站qq群推广用什么网站好
  • 福彩网站开发长春站是火车站还是高铁站
  • 网站建设推进会讲话稿河北专业信息门户网站定制
  • 龙口网页设计seo优化自动点击软件
  • 企业网站如何宣传下关汇做网站的公司
  • 门户网站建设方案 模板专业柳州网站建设
  • 不知道是谁做的网站 输入学号软件开发计划模板
  • 北京公司建网站要多少费用delphi可以做网站吗
  • 免费网站设计工具艺术设计教学资源网站建设标准
  • 网站制作经典案例国内设计公司前十名
  • wordpress网站布置网站备案 游戏
  • 网站建设技术服务的方式是什么无法进入网站后台