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

网站产品内页设计网站即将 模板

网站产品内页设计,网站即将 模板,职业教育网站开发,做门窗网站怎么做目录 1. 题目描述及链接 2. 解题思路 2.1 思路1 2.2 思路2 2.3 思路3#xff08;本题采取该解法#xff09; 3. 题解程序 1. 题目描述及链接 题目链接#xff1a;面试题 02.04. 分割链表 - 力扣#xff08;LeetCode#xff09; 题目描述#xff1a; 给你一个链表…目录 1. 题目描述及链接 2. 解题思路 2.1 思路1  2.2 思路2 2.3 思路3本题采取该解法 3. 题解程序 1. 题目描述及链接 题目链接面试题 02.04. 分割链表 - 力扣LeetCode 题目描述 给你一个链表的头节点 head 和一个特定值 x 请你对链表进行分隔使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 2. 解题思路 2.1 思路1  创建结构体指针变量curNode遍历原链表 当curNode的val值大于给定的X时将该结点尾插后释放该结点 当curNode的val值小于给定的X时保持该结点不动再检查下一结点 2.2 思路2 重新创建一个新链表并为其设置一个哨兵位。 创建指针变量curNode遍历原链表当curNode的val值大于给定的X时进行尾插操作 当curNode的val值小于给定的X时进行头插操作。 2.3 思路3本题采取该解法 总思路 创建两个新链表大链表和小链表。 创建指针变量curNode遍历原链表当curNode的val值小于给定的X时尾插到小链表 当curNode的val值大于给定的X时尾插到大链表 具体思路 1为实现大小链表的正确尾插需要创建对应指针变量指向当前的尾结点并在插入后更新尾结点。分别命名为greaterTail和lessTail 2同时新建链表为空时空指针-next会导致空指针解引用。故而新链表为空需单独讨论较为麻烦。此处采用设置哨兵位分别记为greaterHead和greaterTail 3由于创建了头结点哨兵位最后需手动释放 4注意由于哨兵位并不存放实际有效的值故大链表链接到小链表尾部时实际链接的大链表第一个结点是greaterHead-next最后返回新链表的第一个结点是lessHead-next 5考虑特殊情况若原链表为空则大小链表仅有哨兵位即greaterHead-next为NULLlessTail-next也为NULL直接返回NULL即可。 3. 题解程序 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ typedef struct ListNode ListNode; struct ListNode* partition(struct ListNode* head, int x) {if(headNULL){return NULL;}// 创建两个带头链表ListNode* lessHead,*lessTail;ListNode* greaterHead,*greaterTail;lessHeadlessTail(ListNode*)malloc(sizeof(ListNode));greaterHeadgreaterTail(ListNode*)malloc(sizeof(ListNode));// 遍历原链表将结点分别尾插到大小链表ListNode* curNodehead;while(curNode!NULL){if(curNode-val x){// 尾插到小链表中lessTail-nextcurNode;lessTaillessTail-next;}else{// 尾插到大链表中greaterTail-nextcurNode;greaterTailgreaterTail-next;}curNodecurNode-next;}greaterTail-nextNULL;// 链接大小链表小前大后lessTail-nextgreaterHead-next;// 存小链表第一个有效结点并释放头结点ListNode* newHeadlessHead-next;free(lessHead);free(greaterHead);lessHeadlessTailNULL;return newHead; } 注意 1、必须要将大链表的尾指针的next指针置为NULL否则会成环报错为超出时间限制 分析如下 2、greaterTail-nextNULL 语句必须在 lessTail-nextgreaterHead-next语句之前 假设跳出while循环后的代码顺序如下 // 链接大小链表小前大后 lessTail-nextgreaterHead-next; greaterTail-nextNULL; 提交报错如下 这个错误表明程序试图访问一个未正确对齐的内存地址 通常是由于结构体成员未正确初始化或内存分配问题导致的。 考虑原链表为[1]单个结点)x2的情况 由于在while循环中仅执行了if分支并没有执行else分支 greaterHead仅调用malloc申请了空间并未为其val及next赋值。 此时直接使用greaterTail-next为lessTail-next赋值会导致赋值为随机值。 令greaterTail-nextNULL 语句在 lessTail-nextgreaterHead-next语句之前可以保证greaterHead和greaterTail被初始化为NULL。
http://www.hkea.cn/news/14372913/

相关文章:

  • 大型电商网站建设公司商贸公司商标logo设计
  • 口碑好的网站建设网站建设自学多长时间
  • wordpress中文伪静态北京网站关键词优化推荐
  • 郑州网站建设公司招聘西安优秀的集团门户网站建设
  • 如何做考试网站邵阳网站建设的话术
  • 哪些网站seo做的好旅游网页设计模板简约图片
  • 成都网站建设设计公司排名dedecms 网站地图 模板
  • 商城县优化wordpress评论
  • 安徽天筑建设集团网站泉州建设网站
  • 有没有帮忙做网站为什么要建设网站
  • html网页模板制作企业网站优化费用
  • 医院网站建设的意义房屋设计装修软件免费app
  • 大连网站制作仟亿科技软件界面设计文档
  • 河南商务网站建设景观平台设计
  • 做网站准备内容wordpress 模板 学校
  • 网页一键建站云南营造建设有限公司网站
  • 做二手家电网站怎样个人模板网站
  • 建设股票交易网站wordpress 信用卡收款
  • 网站推广的英文content国内单页网站
  • 北京网站建设最好公司湖南邵阳网
  • 黄冈手机网站建设网站模板怎么修改成可视化
  • 湖南新备案的网站毕业设计做网站有什么好处
  • 福州网站建设哪个好百度推广的四种收费形式
  • 免费网站建设系统烟台建网站公司哪家好
  • 国外网站备案流程怎么制作网站横幅教案
  • 手机网站建设步骤有哪些好的做问卷调查的网站好
  • wordpress仿站cms广告联盟推广
  • 网站开发实训总结中移电子商务有限公司为什么扣款
  • 莱芜建设银行网站品牌建设公司网站
  • 写作网站排名开发jsp网站