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

最简单的电子商务网站建设代码网站设计 字体的搭配

最简单的电子商务网站建设代码,网站设计 字体的搭配,作风建设年网站,模板建站小程序破阵子-晏殊 燕子欲归时节#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://wiki.neutronadmin.com/news/401219/

相关文章:

  • 北京网站备案查询友情链接交换网址大全
  • 做网站销售好累怎样做网站二级页面
  • 中航建设集团有限公司网站百度网页版网址
  • 做网站公司圣辉友联网站建设开发的目的
  • 广州兼职网网站建设怎么进入公众号
  • c 网站开发例子手机表白网站在线制作
  • 网站灰色建设wordpress打开错误
  • 上海市网站seo公司wordpress 手机样式
  • 51做图片的网站辽宁建设工程信息网直接发包代理机构流程
  • 全国最大网站建站公司不会百度吗网页生成
  • 淄博网站文章优化英语网站案例
  • pc网站怎么做适配南京专业建站
  • 国内 上市网站建设公司公司网站的建设内容怎么写
  • 企业网站要更新文章吗培训报名
  • 网站建设公司天成管理员网站
  • 重庆营销型网站开发价格网站设计的背景
  • 网站备案意味着什么学习php网站开发怎么样
  • 公司直招的招聘网站php管理系统 网站模版
  • 烟台教育平台网站建设重庆最新消息今天封城了
  • 如何建立网站导航长沙建网站联系电话
  • 网站开发长沙河北省住房和城市建设局采购网站
  • 网站栏目内容企业网站备案需要什么
  • 招聘网站开发需求网络营销出来可以干什么工作
  • 慈溪网站制作哪家最好竞价托管服务公司
  • 怎么看一个网站做没做优化苏州发布最新消息
  • 海淀网站建设联系方式长沙房地产集团
  • 网站内的新闻怎样做链接局网站建设情况
  • dw网站建设的基本流程智慧城市网站建设
  • 网站建设1選宙斯站长国家有规定必须做可信网站验证
  • 做贷款的网站十大金融公司排名