当前位置: 首页 > 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/933901/

相关文章:

  • 网站功能流程图梧州吧
  • 分销网站建立Wordpress报价主题
  • 各大网站发布阳江网约车
  • 慈溪网站建设报价wordpress文章如何搬家
  • 导购分享网站模板织梦帝国wordpress
  • 做相片网站设计logo网站是平面设计不
  • 外贸网站建设模式免费云服务器推荐
  • 站长工具查询网站做外贸在那些网站找客户
  • 效果好网站建设哪家便宜网站建设售后服务承诺函
  • 一个网站备案多个域名新网站建设的流程
  • 网站怎样做推广计划wordpress访问目录权限
  • 门业网站 源码做侵权视频网站
  • 福田设计网站php技术的网站建设实录方案
  • 网站设计O2O平台wordpress主页制作
  • 北京公司网站建设服务谷歌网站流量统计
  • 提供网站建设和制作目前最好的引流推广方法
  • 描述网站的整体建设一般步骤站群系列服务器做视频网站
  • 旅游网站前端建设论文邯郸做网站的地方
  • wordpress会员积分充值插件酒店网站搜索引擎优化方案
  • 如何做网站的二级页面网站制作建设公司哪家好
  • 做摄影的网站知乎高端网站建设设计公司哪家好
  • 男女做羞羞事的网站免费seo快速排名系统
  • 怎样注册自己的货运网站双云官方网站
  • 公司门户网站建设惠州app网站建设排行榜
  • 菏泽做网站公司平面设计课程培训
  • 网络架构分析小说网站怎么做seo
  • 南京网站建设中企动力邀请注册推广赚钱
  • 山东省交通运输厅网站开发单位17网站一起做网店潮汕
  • 下了网站建设尚义住房和城乡规划建设局网站
  • 郑州网站搭建的公司谷歌网站统计