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

网站设计说明范文便宜做外贸网站

网站设计说明范文,便宜做外贸网站,运营策划方案模板,网站备案后改域名💕人面只今何处去,桃花依旧笑春风💕 作者:Mylvzi 文章主要内容:详解链表OJ题 题目一:环形链表(判断链表是否带环) 题目描述: 画图分析: 代码实现&#x…

 

  💕人面只今何处去,桃花依旧笑春风💕

作者:Mylvzi 

 文章主要内容:详解链表OJ题 

题目一:环形链表(判断链表是否带环)

题目描述:

画图分析:
 

代码实现:


bool hasCycle(struct ListNode *head) {struct ListNode* slow = head,*fast = head;//定义快慢指针// 进入链表while(fast && fast->next)//为空,就不含有环{fast = fast->next->next;slow = slow->next;if(fast == slow)//相等,环存在return true;}return false;
}

 题目二:相交链表(判断两个链表是否相交)

题目描述:

画图分析:

 

代码实现:

struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode* curA = headA,* curB = headB;int lenA = 1;int lenB = 1;//根据尾结点判断是否相交// 判断尾结点是否相同while(curA->next){curA = curA->next;lenA++;}while(curB->next){curB = curB->next;lenB++;}if(curA != curB)//不等于,不相交{return NULL;}//相同,返回公共结点int gap = abs(lenA - lenB);//得到链表长度差值struct ListNode*longlist = headA,*shortlist = headB;if(lenA < lenB){longlist = headB;shortlist = headA;}//先让长的链表走gap步while(gap--){longlist = longlist->next;}while(longlist != shortlist){longlist = longlist->next;shortlist = shortlist->next;}//出循环-->走到公共结点return longlist;
}

 题目三:链表分割(哨兵位使用)

题目描述:

 

画图分析:

 

代码实现:

class Partition {
public:ListNode* partition(ListNode* pHead, int x) {//创建哨兵位和两个链表struct ListNode* lhead,* ltail;//存放比x小的struct ListNode* ghead,* gtail;//存放比x大的lhead = ltail =(struct ListNode*)malloc(sizeof(struct ListNode));ghead = gtail =(struct ListNode*)malloc(sizeof(struct ListNode));//循环遍历尾插struct ListNode* cur = pHead;while(cur){if(cur->val < x){ltail->next = cur;ltail = cur;}else {gtail->next = cur;gtail = cur;}cur = cur->next;}//不置空,有可能呈环,导致死循环gtail->next = NULL;ltail->next = ghead->next;//链接两个链表struct ListNode* head = lhead->next;free(lhead);free(ghead);lhead = NULL;ghead = NULL;return head;}
};

哨兵位总结:

      “哨兵位”是一种特殊的结点,放在链表头结点之前,可以理解为工具人,就告诉你我是结点,不是NULL,但其本身不存储任何数据,为了方便对链表的链接而设置的!

      出现链表链接使用哨兵位更简单,因为可以避免一种特殊的结点-->NULL,这种情况在之前往往需要单独讨论(if语句),而哨兵位的设立是我们不需要单独对这种情况讨论!

题目四:链表的回文结构(判断是否时回文链表)

题目要求:

 

画图分析:

 

代码实现:

class PalindromeList {
public://第二种写法-->头插
struct ListNode* reverseList(struct ListNode* head){//设置新的头结点,进行头插struct ListNode* newhead = NULL;struct ListNode* cur = head;//头插while(cur){struct ListNode* next = cur->next;cur->next = newhead;newhead = cur;cur = next;}return newhead;
}struct ListNode* middleNode(struct ListNode* head){struct ListNode*slow = head,*fast = head;//开始移动while(fast && fast->next){fast = fast->next->next;//一次移动两步slow = slow->next;}return slow;
}bool chkPalindrome(ListNode* head) {struct ListNode* mid = middleNode(head);//得到中间结点struct ListNode* rmid = reverseList(head);// 逆置中间结点之后的链表while(rmid && head){//不等于-->不是回文链表if(rmid->val != head->val)return false;rmid = rmid->next;head = head->next;}return true;}
};

总结:头插和尾插的区别(画图分析)

 

http://www.yayakq.cn/news/635689/

相关文章:

  • 郑青松找谁做的网站网站有些什么内容
  • 毕节做网站棋牌网站代理
  • 做网站的技术难点百度网站建设
  • 做灯具外贸哪个网站好做网站开发技术说明
  • 网站制作需要多少费用房山网站制作
  • 域名注册网站制作专业单位网站设计企业
  • 厦门本地网站怎么制作香囊 教程
  • 做配件出口上什么网站wordpress做的网站
  • 东营有哪些制作网站网站建设还流行吗
  • 专业建设网站技术展厅设计案例100例
  • 电子商务网站开发报告网站规划与建设ppt模板下载
  • 上海网站seo快速排名建设网站的工作总结
  • 唐山市城乡建设局网站wordpress4.7安装步骤
  • 手机触屏网站模板西地那非片功效与作用主要会有哪些
  • 怎么增加网站的流量南城网站建设公司方案
  • 商务网站建设教学视频教程编程培训机构排名前十
  • 吕梁seo网站建设企业网站建设方案书
  • 网站的百度快照如何做用wordpress做企业网站视频教程
  • 苏州网站建设公司找哪家东莞网站优化电话
  • 陕西省房和城乡建设厅网站西安网站制作机构
  • 什么网站可以做ui兼职晚上睡不着正能量网站
  • 济南建站公司网站网站建设费的账务处理
  • 电影网站网页设计实训报告用ps做零食网站模板
  • 哪里建设网站最好用php网站怎么搭建环境配置
  • 网站开发 脚本怎么写wordpress 分类列表插件
  • 短网址生成 免费网站优化制作
  • 关于字体设计的网站重庆市工信部网站
  • 网站备案号收回Wordpress搜索结果页插件
  • 建手机网站一年费用盐城网站优化方案
  • 陕西省建设银行网站搭建影视网站