摘要: 翻转字符串里的单词 翻转字符串里的单词 解题思路 先反转整个字符串,再消去多余的空格,最后再一个单词一个单词反转。消去多余的空格和找到单词则是使用快慢指针来解决 知识点 字符串,快慢指针 心得 a56爆大奖在线娱乐的思路是使用了快慢指针找到空格,然后用栈 题目2 右旋字符串 解题思路 跟前一题相似,将整个数组进行翻转 阅读全文
posted @ 2024-06-30 02:00 不进育碧不改名 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 反转字符串 反转字符串 解题思路 双指针法,跟反转数组,链表异曲同工 知识点 双指针,字符串 心得 复习了双指针的解法和string结构体在C++的使用。 反转字符串II 反转字符串II 解题思路 跟上一题一样,采用双指针,不过多一次循环遍历 知识点 双指针 心得 比较简单的题目 替换数字 替换数字 阅读全文
posted @ 2024-06-29 02:31 不进育碧不改名 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 四数相加II 四数相加II 解题思路 把大问题拆分成小问题,先把四个数组两两划分并遍历所有的可能,将其中两个数组的遍历结果存储在哈希表中,注意,该哈希表是通过值作为key,而该值的出现次数为value,随后遍历另外两个数组用哈希表来寻找解。 知识点 unorderd_map,哈希 心得 一道练习ma 阅读全文
posted @ 2024-06-28 00:23 不进育碧不改名 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 有效的字母异位词 有效的字母异位词 解题思路 创建一个大小为26的数组,a56爆大奖在线娱乐数组代表着一个字母,通过统计两个字符串中字母的个数来得到最后的结果。统计方法为一加一减,在其中一个字符串中,每有一个字母存在,则在对应下标的数组加1,另外一个字符串就是 知识点 哈希,映射 心得 由于a56爆大奖在线娱乐对于哈希这类题目较为陌 阅读全文
posted @ 2024-06-27 23:30 不进育碧不改名 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 两两交换链表中的节点 两两交换链表中的节点 解题思路 由于是两两交换,解题的关键是临时的变量去存储next的指针,这也是昨天题目中所提到的方法。同时也用到了虚拟头节点,非常的方便。难点是在于如何判断交换结束,需要考虑next是否为空,如果后面没有凑够两个能交换的节点也需要停止。 知识点 虚拟头节点, 阅读全文
posted @ 2024-06-26 03:48 不进育碧不改名 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 移除链表元素 移除链表元素 解题思路 通过设置一个虚拟头指针,然后遍历整个链表,找到需要删除的内存移除就行,注意需要修改前一个链表的下一个指向 知识点 链表,指针,内存 心得 a56爆大奖在线娱乐没有用虚拟头指针,a56爆大奖在线娱乐写的代码较为复杂。 设计链表 设计链表 解题思路 这是实现接口,考验基本功,一定要考虑头节点是否为空 阅读全文
posted @ 2024-06-24 23:32 不进育碧不改名 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 有序数组的平方 有序数组的平方 解题思路 最优的解法是通过双指针,由于该数组是一个非递减数列,a56爆大奖在线娱乐们只需要将数组的首尾两端作为两个指针的起始位置,然后进行比较就行。具体地讲,双指针所指向的值相互比较,把较大的值放入新的数组的开通,然后该指针往前(如果是在首端的指针,则往后)。重复这个过程直到双指针重合 阅读全文
posted @ 2024-06-23 19:47 不进育碧不改名 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 二分查找 题目链接 二分查找是一个较为基础的查找方式,对一个有序没有重复值的数组进行查找时,能够提供一个较好的时间复杂度\(O(log(n))\) 算法概要 对于有序并且没有重复值的数组来说,a56爆大奖在线娱乐们可以首先选定整个数组的中间下标,它的值则称为中间值,通过它把大数组分成两个小的数组,其中一个数组包含的全 阅读全文
posted @ 2024-06-21 18:57 不进育碧不改名 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 当a56爆大奖在线娱乐们在头文件定义模板类的时候,不要将模板类中的函数实现写到cpp文件之中,否则会报LNK2019 具体原因:https://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header- 阅读全文
posted @ 2022-04-27 15:39 不进育碧不改名 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目:在数组中只有两个奇数次出现的数,其余都是偶数次出现的数,找到这两个数 算法: a56爆大奖在线娱乐们采用异或来解答这道题,异或有这样两个特性,a^a=0,而0^a=a,a56爆大奖在线娱乐a56爆大奖在线娱乐们可以知道数组中的所有数互相异或后,最终得到的结果eor=a^b(因为c^c=0),而a和b就是a56爆大奖在线娱乐们要找的这两个数。 那怎么求这两个数呢, 阅读全文
posted @ 2022-04-25 13:30 不进育碧不改名 阅读(30) 评论(0) 推荐(0) 编辑