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

麦包包网站建设的特点wordpress建站好么

麦包包网站建设的特点,wordpress建站好么,福州商城网站开发公司,深圳人才引进入户申请官网破阵子-晏殊 燕子欲归时节#xff0c;高楼昨夜西风。 求得人间成小会#xff0c;试把金尊傍菊丛。歌长粉面红。 斜日更穿帘幕#xff0c;微凉渐入梧桐。 多少襟情言不尽#xff0c;写向蛮笺曲调中。此情千万重。 目录 题目描述#xff1a; 思路分析#xff1a; 方法及… 破阵子-晏殊 燕子欲归时节高楼昨夜西风。 求得人间成小会试把金尊傍菊丛。歌长粉面红。 斜日更穿帘幕微凉渐入梧桐。 多少襟情言不尽写向蛮笺曲调中。此情千万重。 目录 题目描述 思路分析 方法及时间复杂度 法一 双指针(经典解法) 法二 计算链表长度(暴力解法) 法三 栈 法四 哈希表 法五 vector 个人总结 题目描述 给你一个链表删除链表的倒数第 n 个结点并且返回链表的头结点。 19. 删除链表的倒数第 N 个结点 - 力扣LeetCode 思路分析 此题要求是删除倒数第N个结点那么主要的就是找到倒数第N个结点然后让该节点的前一个指向该结点的下一个。 那么这道题便有五种以上的解法核心就是找到要删的那个结点。 方法及时间复杂度 法一 双指针(经典解法) 定义两指针fasthead,slowhead。 fast先走n步然后fast跟slow同时走。 直到fast走到空此时slow 就到删除的结点。原理设链表长L快指针共走L步慢指针走L-n步。故此方法由法二得来。 由于这题是删除该结点这得需要删除结点的前继结点。所以让slow少走一步。可以直接开辟一个虚拟结点让slowdummy。 这样solw就可以到达删除结点的前一个结点了。然后像思路分析那样操作。代码如下 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* dummynew ListNode(0,head);ListNode* fasthead,*slowdummy;while(n--){fastfast-next;}while(fast){fastfast-next;slowslow-next;}slow-nextslow-next-next;ListNode* ansdummy-next;delete dummy;return ans;} }; 时间复杂度O(L)链表长度为L。 空间复杂度O(1)。 法二 计算链表长度(暴力解法) 遍历链表计算长度减去n就是正着数的个数注意的是如果长度L-n0就是头删了。代码如下 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {int count0;ListNode* curhead,*prehead;while(cur){count;curcur-next;}if(countn) return head-next;curhead;for(int i0;i(count-n)cur!nullptr;i){precur;curcur-next;}pre-nextcur-next;return head;} }; 时间复杂度O(L)链表长度为L。 空间复杂度O(1)。 法三 栈 根据栈的特点先进后出创建一个虚拟头节点防止空栈让所有结点入栈然后出栈n个结点此时栈顶元素就是要删除的结点的前一个。 代码如下 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* dummynew ListNode(0,head);stackListNode* st;ListNode* curdummy;while(cur){st.emplace(cur);curcur-next;}for(int i0;in;i){st.pop();}ListNode* prest.top();pre-nextpre-next-next;ListNode* ansdummy-next;delete dummy;return ans;} }; 时间复杂度O(L)链表长度为L。 空间复杂度O(L)。为栈开销 法四 哈希表 主要思想是一样的查找到删除结点的前一个结点如果前一个没有结点就头删。 代码如下 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {unordered_mapint,ListNode* hash;ListNode *curhead;int i0;while(cur){hash.insert({i,cur});curcur-next;}int targeti-n;if(target0) return head-next;//target上一个位置的指针指向下一个ListNode* lefthash[target-1];left-nextleft-next-next;return head;} }; 时间复杂度O(L)链表长度为L哈希表查找也为O(L)。 空间复杂度O(L)。哈希表的开销。 法五 vector 与法四思路相同不多解释。 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {vectorListNode* ret;ListNode* curhead;while(cur){ret.emplace_back(cur);curcur-next;}int targetret.size()-n;if(target0) return head-next;ListNode* leftret[target-1];left-nextleft-next-next;return head;} }; 时间复杂度O(L)链表长度为L。 空间复杂度O(L)。 个人总结 大致思路就是找倒数第n个结点删除结点实现起来其实并不复杂可以还有更多的方法做这道题。
http://www.yutouwan.com/news/469117/

相关文章:

  • 网站是生成静态好还是动态好如何查看一个网站是用什么程序做的
  • 工程机械外贸网站建设贵州省建设监理协会网站是什么
  • 苏州网站建设规划wordpress 链接数据库
  • 网站计数代码备案后的域名改网站名
  • 美工做兼职在那个网站注册公司有什么风险吗
  • 富民网站建设工业产品设计的基本特征
  • 网站建设用户登录源码旺道seo推广
  • 东莞网站制作推广公司学建设网站首页
  • 仓山区城乡建设局网站宠物店网站建设方案
  • 列表形式网站网站的差异
  • 农业 网站源码做网站推广 需要ftp
  • 电子商务网站建设的方法有哪些做外卖的网站
  • 天津网站建设外包制作网页可用邮件合并吗
  • 网站流量与广告费网站建设记什么科目
  • 周浦手机网站建设公司鄂尔多斯做网站
  • wordpress 免费cdn网站设计seo
  • 网络营销网站建设公司seo整站优化更能准确获得客户
  • 深圳网站维护焦作网站制作
  • 成绩查询系统网站开发05网全部答案数学
  • 大型网站制作都有哪些人工智能软件定制
  • 深圳维特网站建设windows 2008 wordpress
  • 站长工具seo综合查询5g友点企业网站管理系统 模板
  • 网站没权重惠州专业网站建设价格
  • 移动端网站怎么布局东莞米可网络怎么样
  • 如何给网站做优化代码网站创建要多少钱
  • 网站的设计方法有哪些如何去掉wordpress底部版权
  • 网站设计论文的摘要中国十大公关公司排名
  • 网站建设与管理说课ppt如何安装网站程序
  • 建设电商网站多少钱个人网站该怎么打广告
  • 啥前端框架可以做网站首页公司网页设计内容方案