12 2018 档案
摘要:1. 题目 2. 解答 C++ 遍历数组,将数组中的元素和索引分别作为 unordered_map 的键和值,如果目标值和当前元素的差已经存于在map 的键中,即找到结果。 c class Solution { public: vector twoSum(vector& nums, int targ
阅读全文
摘要:1. 题目 2. 解答 2.1 方法一 在 "LeetCode 206——反转链表" 和 "LeetCode 2——两数相加" 的基础上,先对两个链表进行反转,然后求出和后再进行反转即可。 2.2 方法二 先求出两个链表的长度,然后对齐两个链表,按照对应位分别求出每一位的和以及进位,最后从最低位也就
阅读全文
摘要:在用本地电脑连接远程服务器的时候,大部分时候只能用命令行来操作。虽然可以 "在本地电脑用 PyCharm 进行远程调试" 、 "在本地电脑远程使用服务器的 Jupyter Notebook" 、 "Ubuntu 和 Windows 之间进行远程访问和文件互传" ,但要是能在本地直接打开远程服务器的
阅读全文
摘要:1. 题目 2. 解答 2.1 方法 1 定义快慢两个指针,慢指针每次前进一步,快指针每次前进两步,若链表有环,则快慢指针一定会相遇。 2.2 方法 2 用 unordered_map 充当散列表的功能,每次将链表的节点指针作为键值存入 map,如果检测到当前节点指针已经存在于 map 中则说明链表
阅读全文
摘要:1. 题目 2. 解答 2.1 方法 1 定义快慢两个指针,慢指针每次前进一步,快指针每次前进两步,若链表有环,则快慢指针一定会相遇。 当快慢指针相遇时,我们让慢指针指向头节点,快指针不变,然后每次快慢指针都前进一步,当两个指针再次相遇时,两个指针所指向的节点就是入环节点。 将链表的环向后展开,如上
阅读全文
摘要:1. 题目 2. 解答 第一次遍历链表的时候,复制旧链表的节点值建立一个新的链表,同时定义一个 unordered_map 作为哈希表,哈希表的键为旧链表的节点指针,值为新链表的节点指针。 然后,第二次遍历链表,访问旧链表节点的随机指针,然后以此为键从 map 中取出对应的新链表节点指针,这也就是当
阅读全文
摘要:1. 题目 2. 解答 2.1. 方法一 在 "LeetCode 108——将有序数组转化为二叉搜索树" 中,我们已经实现了将有序数组转化为二叉搜索树。因此,这里,我们可以先遍历一遍链表,将节点的数据存入有序数组中,然后再将有序数组转化为二叉搜索树即可。 2.2. 方法二 将有序数组转化为二叉搜索树
阅读全文
摘要:1. 字符数组 字符数组,也就是存放字符类型数据的数组,只不过 字符数组的结尾必须是 '\0' 。C++ 已经提供了一些字符串处理函数,这些函数被封装在头文件 和 中。 1.1. 字符串复制 从 source 指针指向的内存拷贝 num 个字节到 destination 指针指向的内存;拷贝的是二进
阅读全文