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

郑州响应式网站网站建设美工的职位要求

郑州响应式网站,网站建设美工的职位要求,网页制作教程,江苏省城乡和建设厅网站首页2487. 从链表中移除节点 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输入:head [5,2,13,3,8] 输出:[13,8] 解释:需要移除的节点是 5 ,2 和 3 。…

2487. 从链表中移除节点

给你一个链表的头节点 head 。

移除每个右侧有一个更大数值的节点。

返回修改后链表的头节点 head 。

示例 1:
在这里插入图片描述

输入:head = [5,2,13,3,8]
输出:[13,8]
解释:需要移除的节点是 5 ,2 和 3 。

  • 节点 13 在节点 5 右侧。
  • 节点 13 在节点 2 右侧。
  • 节点 8 在节点 3 右侧。

示例 2:

输入:head = [1,1,1,1]
输出:[1,1,1,1]
解释:每个节点的值都是 1 ,所以没有需要移除的节点。

提示:

给定列表中的节点数目在范围 [1, 105] 内
1 <= Node.val <= 1e5

既然题目要倒着看最大值,明显可以用到递归,利用递归确定每个数右侧都是比他大的:

/*** 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* removeNodes(ListNode* head) {if(head -> next == nullptr) {return head;}ListNode* node = removeNodes(head -> next);if(node -> val > head -> val) {return node;}head -> next = node;return 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* removeNodes(ListNode* head) {ListNode* dummy = new ListNode(0, head);ListNode* cur = head;vector<ListNode*> stk;for (ListNode* cur = head; cur; cur = cur->next) {while (stk.size() && stk.back()->val < cur->val) {stk.pop_back();}if (stk.size()) {stk.back()->next = cur;} else {dummy->next = cur;}stk.push_back(cur);}return dummy->next;}
};

灵神题解中还用了迭代来做:

class Solution {ListNode *reverseList(ListNode *head) {ListNode *pre = nullptr, *cur = head;while (cur) {ListNode *nxt = cur->next;cur->next = pre;pre = cur;cur = nxt;}return pre;}
public:ListNode *removeNodes(ListNode *head) {head = reverseList(head);ListNode *cur = head;while (cur->next) {if (cur->val > cur->next->val) {cur->next = cur->next->next;} else {cur = cur->next;}}return reverseList(head);}
};
http://www.yayakq.cn/news/627376/

相关文章:

  • 辽阳专业建设网站公司网站编辑主要做什么
  • 网站建设包括备案吗3d建模软件手机版下载
  • 学校网站建设工作总结高校精神文明建设网站
  • 周口集团网站建设商业类网站
  • 网站的栏目和板块设计微信分销网站建设价格
  • 邵武网站建设网站支付怎么做
  • 网站模板有什么用微信扫码点餐小程序
  • 网站建设的参考书籍网络营销推广四个步骤
  • 手机网站做的比较好的论坛网站怎么做排名
  • 做外贸需要关注国外哪些网站app开发直播功能
  • 代做课程设计的网站网站建设丿金手指谷哥12
  • 专注旅游网站网站开发网站建设三剑客
  • 石家庄推广网站wordpress主页页面模板
  • 现在最流行的网站推广方式有哪些抖音带运营
  • 电商网站 cmscrm系统怎么用
  • 欧美做爰视频网站广州建设网站是什么样的
  • 网站的发布与推广方式做淘宝内部优惠券网站要钱么
  • php做网站很快嘛网站建设及运营 多少钱
  • 校园网站首页模板wordpress 博客主体
  • 网站域名使用wordpress插件买免费下载
  • 武胜建设局网站wordpress添加投稿功能
  • 佛山网站seo优化河北恒山建设集团网站
  • 建设机械网站方案设计怎么做网站在谷歌
  • 汕头手机模板建站市场调研的方法
  • 明星静态网站联通网站备案系统
  • 做公众号推文的网站获取页面内容wordpress
  • 昆明传媒网站建设青岛php网站建设
  • 网站做支付宝 微信模块wordpress编辑器插件
  • 网站建设术语 英文相城网站建设
  • 什么星网站做调查问卷的zencart 网站安装