剑指 Offer
LeetCode 剑指 Offer 专栏题解
吾十有五0426
日拱一卒,功不唐捐
展开
-
剑指 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 · 72 阅读 · 0 评论 -
剑指 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 · 93 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找题解
题目大意:给出一个 n×mn \times mn×m 的整数数组,数组中数从左向右、从上到下递增,判断该二维数组中是否含有某个整数。最直接的思路是遍历整个二维数组,但因为是从上到下、从左到右递增,所以如果目标整数小于当前行最左边的值,则不用再往下遍历;如果目标整数大于最右边的值,则遍历下一行。不过第一次代码被卡了,发现是因为当数组为空时会发生段错误,所以增加了判断数组是否为空。代码:#include <bits/stdc++.h>using namespace std;class原创 2021-01-22 16:59:25 · 120 阅读 · 0 评论 -
剑指 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 · 99 阅读 · 0 评论