剑指offer
Tulpen1
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 58 - I. 翻转单词顺序
死磕两次调用reverse的解法 各种小bug层出不穷 class Solution { // 去除首尾空格 void Trim(string & s) { string blanks("\f\v\r\t\n "); s.erase(0, s.find_first_not_of(blanks)); s.erase(s.find_last_not_of(blanks) + 1); } // 删除内部多余空格 string .原创 2021-12-10 14:54:54 · 3227 阅读 · 0 评论 -
剑指Offer 48.最长不含重复字符的子字符串
和书上的题目要求略有变化,改为哈希map实现 class Solution { public: int lengthOfLongestSubstring(string s) { // 使用hash map存字符的索引 unordered_map<char, int> index; // 边界条件的判断 if(s.empty()) return 0; if(s.size() == 1) return 1;.原创 2021-12-05 21:02:23 · 81 阅读 · 0 评论 -
剑指 Offer 40. 最小的k个数
书上有2种解法 参考题解,觉得快速排序和学习使用multiset挺不错的,实现了这两种解法,还有就是后面会在这道题下面更新一波十大排序算法的实现 解法01: class Solution { public: vector<int> getLeastNumbers(vector<int>& arr, int k) { // way01 可以修改数组 选择排序算法 vector<int> minK; mult原创 2021-12-01 15:19:57 · 674 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点
参考书上解法: 问题:链表操作不熟悉,需要强加练习! /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* deleteNode(ListNode* head, int原创 2021-11-09 19:44:01 · 488 阅读 · 0 评论 -
剑指 Offer 17. 打印从1到最大的n位数
class Solution { int[] res; int nine = 0, count = 0, start, n; char[] num, loop = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; public int[] printNumbers(int n) { this.n = n; res = new int[(int)Math.pow(10, n) - 1];原创 2021-11-08 22:44:57 · 3991 阅读 · 0 评论 -
剑指offer12:矩阵中的路径
题解01 class Solution { public: bool exist(vector<vector<char>>& board, string word) { rows = board.size(); // 行 cols = board[0].size(); // 列 for(int i = 0; i < rows; i++) { for(int j = 0; j < c原创 2021-10-27 09:50:25 · 116 阅读 · 0 评论 -
第 1 天 栈与队列(简单)(之前的记录全没了,重新备份)
题目01: class MinStack { public: /** initialize your data structure here. */ stack<int>stack1; stack<int>stack2; MinStack() { } void push(int x) { stack1.push(x); if(stack2.empty() || stack2.原创 2021-09-05 15:22:48 · 79 阅读 · 0 评论