剑指offer
剑指offer
爬比我。
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 57 - II. 和为s的连续正数序列
class Solution { public: vector<vector<int>> findContinuousSequence(int target) { int i = 1; // 滑动窗口的左边界 int j = 1; // 滑动窗口的右边界 int sum = 0; // 滑动窗口中数字的和 vector<vector<int>> res; while (i <= target / ...原创 2021-02-14 23:12:37 · 93 阅读 · 0 评论 -
2021-02-12剑指 Offer 15. 二进制中1的个数
class Solution { public: //法一:移位运算 运算32次 //时间消耗大4ms,击败40.59%; 内存5.9MB,击败88.78% int hammingWeight(uint32_t n) { int count = 0; while(n) { if(n & 1) count++; n = n >> 1;//必须是n=n>>1;...原创 2021-02-12 23:23:30 · 105 阅读 · 0 评论 -
剑指 Offer 32 - II. 从上到下打印二叉树 II
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int>> ...原创 2021-02-04 14:27:39 · 57 阅读 · 0 评论 -
剑指 Offer 57. 和为s的两个数字
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int j = nums.size() - 1; for(int i = 0; i < nums.size() - 1; i++) { while(nums[i] + nums[j] > target)//j一直往前走...原创 2021-01-31 13:27:14 · 46 阅读 · 0 评论 -
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
class Solution { public: vector<int> exchange(vector<int>& nums) { int low = 0, fast = 0; while (fast < nums.size()) { if (nums[fast] & 1) { swap(nums[low], nums[fast]); ...原创 2021-01-30 18:12:39 · 60 阅读 · 0 评论 -
剑指 Offer 50. 第一个只出现一次的字符
class Solution { public: char firstUniqChar(string s) { if(s == "") return ' '; unordered_map<char,int> cmap; for(int v : s) { cmap[v]++; } //按字符串的顺序在map中查找到第...原创 2021-01-27 10:53:54 · 52 阅读 · 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> reversePrint(ListNode* head) { vec...原创 2021-01-21 11:00:55 · 56 阅读 · 0 评论 -
剑指 Offer 10- II. 青蛙跳台阶问题
class Solution { public: int numWays(int n) { vector<int> v(n + 1, 1); for(int i = 2; i <= n; i++) v[i] = (v[i - 1] + v[i - 2]) % 1000000007; return v[n]; } };原创 2021-01-18 10:51:28 · 73 阅读 · 0 评论 -
剑指 Offer 55 - II. 平衡二叉树
class Solution { public: bool isBalanced(TreeNode* root) { if (root == NULL) return true;//如果该子树为空,则一定是平衡的(因为没有左右子树) if (abs(getHeight(root->left) - getHeight(root->right)) > 1) return false; return isBalanced(r...原创 2021-01-16 11:31:59 · 56 阅读 · 0 评论 -
1:赋值运算符函数
如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 class CMyString { public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(void); CMyString& operator = (const CMyString& str); void Print(); private:原创 2020-12-02 19:38:46 · 194 阅读 · 0 评论