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

设计网站大全网做个小程序开发的公司

设计网站大全网,做个小程序开发的公司,苏州市建设安全监督局网站,外贸黄页网站题目#xff1a; 给你一个链表#xff0c;删除链表的倒数第 n 个结点#xff0c;并且返回链表的头结点。 示例 1#xff1a; 输入#xff1a;head [1,2,3,4,5], n 2 输出#xff1a;[1,2,3,5]示例 2#xff1a; 输入#xff1a;head [1], n 1 输出#xff1a;…题目   给你一个链表删除链表的倒数第 n 个结点并且返回链表的头结点。 示例 1 输入head [1,2,3,4,5], n 2 输出[1,2,3,5]示例 2 输入head [1], n 1 输出[]示例 3 输入head [1,2], n 1 输出[1] 思路1暴力遍历 很简单的遍历完链表一边遍历一边计数n删除倒数第N个结点即删除正数第n-N1个结点。 代码实现   /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ int getlen(struct ListNode* head){int lenth0;while(head){headhead-next;lenth;}return lenth; } struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {struct ListNode* dummymalloc(sizeof(struct ListNode));dummy-val0;dummy-nexthead;struct ListNode* curdummy;int lengetlen(head);for(int i0;ilen-n;i){curcur-next;}cur-nextcur-next-next;struct ListNode* ansdummy-next;free(dummy);return ans; } 思路2递归 链表天生自带的递归性质在这个简单条件面前自然也可以使用在无法知道链表结点数的情况下我们就自然无法在递的上面做文章自然而然就只能在归的过程中进行计数归一次就计数N 代码实现   /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {static int N;//这里比较特别的一点就是我们使用静态变量作用是在不同的归的栈中使得变量不改变while(!head){N0;return head;}head-nextremoveNthFromEnd(head-next, n);N;if(Nn){struct ListNode* tmphead-next;free(head);return tmp;}return head; } 思路3双指针 第一个暴力遍历的效率不高的一大原因就是因为遍历的次数重复了一次增添一个指针自然可以渐少一次遍历利用前后指针的范围差准确的确定倒数第N个结点的所在处 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {struct ListNode* dummymalloc(sizeof(struct ListNode));dummy-val0;dummy-nexthead;struct ListNode* predummy;struct ListNode* curdummy;for(int i0;in-1;i){curcur-next;}while(cur-next-next){prepre-next;curcur-next;}pre-nextpre-next-next;struct ListNode* tmpdummy-next;free(dummy);return tmp; } 思路4栈 用栈来装下所有的结点再一步一步出栈。 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct STACK{struct ListNode* val;struct STACK* next;}; struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {struct ListNode* dummymalloc(sizeof(struct ListNode));dummy-val0;dummy-nexthead;struct STACK* stkNULL;struct ListNode* curdummy;while(cur){struct STACK* tmpmalloc(sizeof(struct STACK));tmp-valcur;tmp-nextstk;stktmp;curcur-next;}for(int i0;in;i){struct STACK* tmpstk-next;free(stk);stktmp;}struct ListNode* prestk-val;pre-nextpre-next-next;struct ListNode* ansdummy-next;free(dummy);return ans; }
http://www.yutouwan.com/news/163192/

相关文章:

  • 网站首页设计多少钱购物网站下载
  • 做华为网站的还有哪些功能网页设计公司金华
  • 郑州网站建设 app开发关于建设网站的图片素材
  • 百度网站与推广商业空间设计的内容包括哪些
  • 睢县网站制作公司百度网站是什么
  • 安徽省建设厅焊工证查询网站网站拒绝被百度收录
  • 电子政务网站建设的挑战wordpress后台缓慢
  • 招商信息发布网站大全帝国cms资源网模板
  • 手机网站可以做英文版本吗wordpress woomerce
  • 优秀的电商设计网站有哪些内容建筑工程行业网站建设方案
  • 网站要怎么创建WordPress mk主题
  • 做旅游网站公司汕头网页怎么制作
  • 无锡网站制作电话网站域名注册时间查询
  • 大悟网站开发建立网站英文翻译
  • 建设部网站事故快报网站规划与建设心得体会
  • 论文旅游网站建设wordpress会员 主题
  • 网站建设中 目录怎么做更好做网站数据库
  • 网站开发模板代码html做网站经验技巧
  • 个人资讯网站建设wordpress文章无法发布
  • 开发小网站排名2018年网站建设工作总结
  • 怎样在微信里做网站网站建设 中企动力泉州
  • 郑州网络推广平台有哪些保定网站优化哪家好
  • 江苏省水利工程建设局网站外网登录 wordpress
  • 企业网站的建立视频图书网站建设源码
  • 简述如何对网站进行推广沈阳做微网站
  • 个人承接网站建设中国万网联系方式
  • 做初级会计实务题的网站静态html网站打包成exe
  • 沈阳cms模板建站什么网站做污水处理药剂的好
  • 中国建设的网站商标查询入口
  • 网站要能被搜到需要做推广嘛做甜品台的网站