上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: 题目链接 解题思路:可以定义一个node节点,然后一个cur节点,node节点先走n-1步,然后cur和node同时走,如果node->next == null了,那么cur就是被删除的节点,此时,我们用pre节点指向cur的前一个节点(node和cur在走的时候,pre也跟着走),就可以删除cur 阅读全文
posted @ 2024-12-18 10:46 ouyangxx 阅读(21) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:一个简单的回溯题目。 代码 class Solution { public: map<char, string> table{ {'2', "abc"}, {'3', "def"}, {'4', "ghi"}, {'5', "jkl"}, {'6', "mno"}, {'7', 阅读全文
posted @ 2024-12-18 10:39 ouyangxx 阅读(22) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:没啥可说的,按照要求一个个字符处理 代码 class Solution { public: int romanToInt(string s) { int ans = 0; int len = s.length(); map<char, int> table{ {'I', 1}, 阅读全文
posted @ 2024-12-18 09:58 ouyangxx 阅读(8) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:整数转罗马数字,可以理解为一个一个「数」,有一个转换表,从高位依次往低位「数」,直接看代码更清晰 代码 class Solution { public: string intToRoman(int num) { // 转换表 vector<pair<int, string>> t 阅读全文
posted @ 2024-12-18 09:21 ouyangxx 阅读(17) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:用第一个字符串的每个字符,逐个比较其他字符串,注意别越界就行 代码 class Solution { public: string longestCommonPrefix(vector<string>& strs) { string ans = ""; int len = str 阅读全文
posted @ 2024-12-18 08:57 ouyangxx 阅读(9) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:先写一个暴力递归,bool process(s, p, i, j),s[i...]与p[j...]能否匹配成功?,i之前,以及j之前的都已经匹配成功了。 1️⃣p[j + 1] != '*' 若p[j] == '.',则递归调用process(s, p, i + 1, j + 1 阅读全文
posted @ 2024-12-17 17:39 ouyangxx 阅读(13) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:拆分问题,三数之和,我们可以固定一个数字,就变成了两数之和了。还有一个难点就是,如何去重? 1️⃣先排序。 2️⃣固定第一个数,「第一个数」必须是之前没有求过的答案。 3️⃣从剩下的数中,求两数之和,求的过程中,直接去重。 两数之和,因为是有序了,所以直接双指针 细节看代码 代码 阅读全文
posted @ 2024-12-17 16:16 ouyangxx 阅读(82) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:最长回文子串问题,首先要将原字符串扩充,比如abba,暴力是以每个字符s[i],左右两边扩,如果是abba,得不到最优解,扩充成#a#b#b#a#,就不会有问题,最优解是manacher算法。 假设s[i]扩充的区域是[x, y],是目前便利到的,最远的距离,我们称i为回文中心C 阅读全文
posted @ 2024-12-16 13:55 ouyangxx 阅读(38) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:最长子串问题,考虑,以i开头的结果如何,以i结尾的结果如何,最终结果必定在其中。本题使用以i开头的结果如何,我们求出所有的「以i开头的最长子串」,再求出最长的即可。 求「以i开头的最长子串」,最简单的暴力即可,那么怎么加速呢? 我们在求「以i-1开头的最长子长串时」,假设结果是[ 阅读全文
posted @ 2024-12-16 10:01 ouyangxx 阅读(11) 评论(0) 推荐(0)
摘要: 题目链接 思路 链表的方式,模拟加法的计算过程,用一个变量保存进位信息即可。 代码 class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { // 有一种办法可以节省空间,直接将结果放在l1或者l2上 阅读全文
posted @ 2024-12-16 09:46 ouyangxx 阅读(17) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页