- 博客(4)
- 收藏
- 关注
原创 剑指 Offer 06. 从尾到头打印链表题解
题目链接 题目大意:给出一个单链表,返回一个逆序的 vector。 我的思路是先将链表逆序,然后遍历添加到 vector 中。 代码: #include <bits/stdc++.h> using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution { public: vector&
2021-01-23 17:55:00 74
原创 剑指 Offer 05. 替换空格题解
题目链接 题目大意:将一个字符串中的空格替换成 %20。 最直接的思路是创建一个字符串,然后进行遍历,如果不为空格,则赋值给新字符串;如果为空格,则增加 %20。 代码: #include <bits/stdc++.h> using namespace std; class Solution { public: string replaceSpace(string s) { string ans; for (auto i : s) {
2021-01-22 17:28:15 94
原创 剑指 Offer 04. 二维数组中的查找题解
题目大意:给出一个 n×mn \times mn×m 的整数数组,数组中数从左向右、从上到下递增,判断该二维数组中是否含有某个整数。 最直接的思路是遍历整个二维数组,但因为是从上到下、从左到右递增,所以如果目标整数小于当前行最左边的值,则不用再往下遍历;如果目标整数大于最右边的值,则遍历下一行。 不过第一次代码被卡了,发现是因为当数组为空时会发生段错误,所以增加了判断数组是否为空。 代码: #include <bits/stdc++.h> using namespace std; class
2021-01-22 16:59:25 122
原创 剑指 Offer 03. 数组中重复的数字题解
题目大意:有一个长度为 nnn 的数组 nums 包括数字 0∼n−10 \sim n - 10∼n−1,现让找出任意重复的数字。 我最开始的思路是创建一个 set,将每个数字插入到 set 中,如果 set 长度不发生变化,则说明当前数字是重复数字。 代码: #include <bits/stdc++.h> using namespace std; class Solution { public: int findRepeatNumber(vector<int>&
2021-01-21 17:12:05 103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人