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

网站备份脚本软件开发文档编写

网站备份脚本,软件开发文档编写,水利网站建设,泡泡手机网文章目录 Leetcode 142. 环形链表 II题目描述C语言题解解题思路 Leetcode 242. 有效的字母异位词题目描述C语言题解和思路解题思路 Leetcode 142. 环形链表 II 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返…

文章目录

  • Leetcode 142. 环形链表 II
    • 题目描述
    • C语言题解
      • 解题思路
  • Leetcode 242. 有效的字母异位词
    • 题目描述
    • C语言题解和思路
      • 解题思路


Leetcode 142. 环形链表 II

题目描述

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

不允许修改链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:返回索引为 1 的链表节点
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:返回索引为 0 的链表节点
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1
输出:返回 null
解释:链表中没有环。

提示:

链表中节点的数目范围在范围 [0, 104] 内
-105 <= Node.val <= 105
pos 的值为 -1 或者链表中的一个有效索引

**进阶:**你是否可以使用 O(1) 空间解决此题?

C语言题解

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode *detectCycle(struct ListNode *head) {struct ListNode *fast = head;struct ListNode *slow = head;while(fast != NULL && fast->next != NULL){fast = fast->next->next;slow = slow->next;if(fast == slow){struct ListNode *p = fast;struct ListNode *q = head;while(q != p){p = p->next;q = q->next;}return q;}}return NULL;
}

解题思路

如何判断链表是否有环形结构:双指针的快慢指针。

如果快指针的结点和它的下一个结点都不为空,块指针向后移动两个结点,慢指针向后移动一个结点,如果快慢指针能相遇,说明链表存在环形结构。

如何判断链表环形结构的入口:快慢指针相遇的结点和头指针的结点同时移动,二者相遇的地方就是环形链表的入口。

Leetcode 242. 有效的字母异位词

题目描述

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

**注意:**若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true

示例 2:

输入: s = “rat”, t = “car”
输出: false

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • s 和 t 仅包含小写字母

**进阶:**如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

C语言题解和思路

bool isAnagram(char* s, char* t) {int sl = strlen(s), tl = strlen(t);if (sl != tl) {return false;}int a[26];memset(a, 0, sizeof(a));for (int i = 0; i < sl; ++i) {a[s[i] - 'a']++;}for (int i = 0; i < tl; ++i) {a[t[i] - 'a']--;if (a[t[i] - 'a'] < 0) {return false;}}return true;
}

解题思路

通过哈希表将字符串中的字符再数组对应下标做出标记

开头比较两个字符串的大小,如果两个字符串不一样长,它们一定不是字母异位词。

建立有26个空间的数组,数组的26个下标对应26个字母。

遍历字符串s中的字符,再对应下标上加一;再遍历字符串t中的字符,再对应下标减一,判断该下标的值,如果该下标的值比0小,说明字符串t中出现了字符串s没有的字符,或字符串t中某个字符的数量多余字符串s中该字符的数量,所以它们不是字母异位词,返回false。

最后,如果循环中没有返回值,说明字符串s和字符串t每个字符出现的数量相同,返回true。


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

相关文章:

  • 各网站提交入口网页游戏新区开服
  • 网站的系统帮助破解网站后台
  • 洛阳建站洛阳市网站建设建站公司网站 discuz
  • 网站搭建南京网站建设文案模板
  • 国内一线网站设计公司邹平 建设项目 网站公示
  • 石家庄学校网站建设淘宝详情页制作教程
  • 建设一个网站论坛要多少钱江苏省建设厅官网网站
  • 西安网站制作工作室wordpress 搭建知识库
  • 提供零基础网站建设教学培训做兼职网站
  • 做3d模型的叫什么牛的网站买的网站可做360广告联盟吗
  • 江苏省建设工程造价管理协会网站wordpress关键词代码
  • 校园网站页面设计东莞人力资源招聘官网
  • 搭设企业网站教程江津网站建设怎么样
  • 域名注册网站制作网络推广学习
  • 百度推广的网站怎么做杭州app定制公司
  • 外贸企业做网站网站最初的索引量从何而来
  • 网站推广宜选刺盾云下拉广西南宁网站建设排行榜
  • 怎么自己建立网站及建立网站方法网站设计主要包含3个方面
  • 找人制作网站 优帮云重庆seo顾问服务
  • 广州官网建站网站制作长春
  • 佛山设计网站设计价格微信网页版本
  • 做施工的平台网站进入公众号怎么找出二维码
  • 哪个网站的课件做的好处自己免费做网站的流程
  • 专业3合1网站建设公司开什么店投资小利润高
  • php如何做局域网的网站wordpress html 标签
  • 展示网站动画怎么做的php wordpress单本小说网站源码+采集
  • 自适应网站搭建建立多多少钱
  • 北京seo网站结构优化制作图片的软件及特点
  • 最新军事战争新闻消息网络优化的工作内容
  • 怎么做一个电商网站wordpress留言板页面怎么制作