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

网站开发质量控制计划书网络推广服务

网站开发质量控制计划书,网络推广服务,web开发用哪个语言好,正规软件开发培训班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.dinnco.com/news/86700.html

相关文章:

  • 鸿顺里网站建设网络营销推广方案怎么写
  • 淅川微网站建设制作公司网站的步骤
  • angular2是做网站的还是手机的如何免费创建自己的平台
  • 中山seoseo综合优化公司
  • 网站建设的栏目规划汕头最好的seo外包
  • wordpress 会员管理插件重庆seo整站优化效果
  • 企业免费建站软件泰安百度推广电话
  • 公司网站建设合同竞价外包
  • asp.net做的网站模板网络服务
  • 传统网站布局百度快速排名提升
  • 地方生活门户网站名称淘宝流量助手平台
  • 在线制作微信头像seo 优化顾问
  • 那个外贸网站做的最好合肥网络优化推广公司
  • 网站建设常识学校教育培训机构
  • 网站预约功能怎么做关键词有哪些?
  • 桥东区网站建设优化官网咨询
  • 中央农村工作会议12月19日至20日刷神马网站优化排名
  • 免费网站空间怎么品牌推广公司
  • wordpress抢救360站长工具seo
  • 商务厅网站建设意见互联网营销师培训教程
  • 深圳百度总部seo公司重庆
  • 免费手机网站建设友链购买网
  • 未来最紧缺的十大专业百度优化师
  • 免费项目进度管理软件网站的seo
  • 做公司网站用什么系统小区推广最有效的方式
  • 做红k线网站宁波网站推广优化公司电话
  • 可以做海报的网站免费访问国外网站的app
  • 合肥商业网站建设费用nba今日最新消息
  • 企业网站建设 会计分录论坛推广方案
  • 网站开发过程中感想接广告推广