剑指offer
小纛
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 03. 数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。方法一:依次将数字存入集合,存入失败则说明有重复元素// c++#include <vector>#include <set>using namespace std;class Solution{public: int findRepeatNumber(vector.原创 2021-02-07 11:29:50 · 145 阅读 · 0 评论 -
剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。方法一:显式使用栈/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> .原创 2021-02-05 18:11:26 · 168 阅读 · 0 评论 -
剑指 Offer 05. 替换空格
请实现一个函数,把字符串s中的每个空格替换成"%20"。代码实现:class Solution{public: string replaceSpace(string s) { int numOfBlank = 0; for (auto c : s) { if (c == ' ') { numOfBlank++; } } int oldLen = s.length(); int newLen = oldLen + numOfBlank...原创 2021-02-05 11:47:50 · 115 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。正确代码:class Solution{public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int rows = matri原创 2021-02-05 09:35:54 · 86 阅读 · 0 评论