手机网站建设 移商动力品牌vi设计案例ppt
2026/2/13 1:06:30 网站建设 项目流程
手机网站建设 移商动力,品牌vi设计案例ppt,网站开发验收流程图,贵州建设网老网站本题#xff1a;我的大体思路对了用栈来做#xff0c;如果入栈的元素比栈顶元素大的话#xff0c;就将栈顶元素出栈。 这个题目让我意识到了#xff0c;vector不仅可以构建顺序表来实现栈#xff0c;而且可以构建链表来实现栈#xff0c;因为不论是栈、顺序表还是链表我的大体思路对了用栈来做如果入栈的元素比栈顶元素大的话就将栈顶元素出栈。这个题目让我意识到了vector不仅可以构建顺序表来实现栈而且可以构建链表来实现栈因为不论是栈、顺序表还是链表他们本质上都是数组所以本质就是利用vector来构建数组然后利用数组来模拟栈。反思本题我会用了虚拟节点的办法来处理问题。虚拟 节点可以不用考虑头节点被删除的情况可以不用特殊考虑头结点的情况。还有个问题就是最后的stk中的元素已经是我们要的结果了但是他的类型是链表的节点的类型所以让stk中的元素排一下序。让stk的尾部指向NULL。/** * 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) { vectorListNode* stk; ListNode *dummynew ListNode(100000,head); ListNode *currhead; stk.push_back(dummy); while(curr){ while(stk.size()curr-valstk.back()-val){ //pop_back方法是无参数的只负责删除最后一个元素这里多传了stk.back() stk.pop_back(); } stk.push_back(curr); currcurr-next; } for(int i0;istk.size()-1;i){ stk[i]-nextstk[i1]; } stk.back()-nextNULL; return dummy-next; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询