摘要: 题意 链表排序 方法 递归 代码 class Solution { public: ListNode* sortList(ListNode* head) { return sortList(head, nullptr); } ListNode* sortList(ListNode* head, Li 阅读全文
posted @ 2022-10-11 20:29 Figure_at_a_Window 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个数组, 计算不包含nums[i]的数组的乘积, 方法 记录数组中零的数量和索引 代码 class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { bool zero_idx[100024]; in 阅读全文
posted @ 2022-10-03 21:19 Figure_at_a_Window 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个数组,将0元素移动到数组末尾,要求保持in-place 方法 双指针 代码 class Solution { public: void moveZeroes(vector<int>& nums) { int i = 0, j = 0; int n = nums.size(); for ( 阅读全文
posted @ 2022-09-26 22:20 Figure_at_a_Window 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题意 n个数, 统计1-n中未出现的数 方法 遍历和标记 代码 class Solution { public: vector<int> findDisappearedNumbers(vector<int>& nums) { sort(nums.begin(), nums.end()); int n 阅读全文
posted @ 2022-09-19 20:19 Figure_at_a_Window 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个数组, 只存在一个数出现一次, 其余数均出现两次, 求出现一次的数 方法 a ^ a ^ b = b 代码 class Solution { public: int singleNumber(vector<int>& nums) { int res = nums[0], N = num 阅读全文
posted @ 2022-09-06 21:14 Figure_at_a_Window 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 题意 求一棵二叉树的深度 方法 DFS, 更新当前最大深度 代码 void dfs(TreeNode* root, int &height, int &ans) { if (root == nullptr) return; height++; dfs(root->left, height, ans) 阅读全文
posted @ 2022-08-29 20:01 Figure_at_a_Window 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 题意 给一棵树, 输出中序遍历 方法 递归 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : v 阅读全文
posted @ 2022-08-22 21:37 Figure_at_a_Window 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题意 序列含有'{}', '()', '[]', 判断其是否有效 方法 stack 代码 bool isValid(string s) { int N = s.size(); if (N & 1) return false; stack<char> st; for (int i = 0; i < N 阅读全文
posted @ 2022-08-15 23:10 Figure_at_a_Window 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 题意 求链表中倒数第k个节点 方法 记录链表节点个数, 将倒数转换为正数 代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : 阅读全文
posted @ 2022-08-01 21:27 Figure_at_a_Window 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题意 m* n的单词序列, 查找其中是否有某单词 方法 DFS + 回溯 代码 const static int N = 100,M = 100,K = 100; int dir[2][4] = {{1,0,0,-1},{0,1,-1,0}}; bool dp[4][N][M][K];/* dir 阅读全文
posted @ 2022-07-25 22:12 Figure_at_a_Window 阅读(19) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示