
面试必刷TOP101
Ray1016
这个作者很懒,什么都没留下…
展开
-
BM99 顺时针旋转矩阵 C++ 详细注释
https://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc思路:由外到内,将每一圈的元素进行顺时针旋转#include <iostream>#include <vector>using namespace std;vector<vector<int>> rotateMatrix(vector<vector<int>> mat, int n) {原创 2022-03-29 10:22:02 · 1172 阅读 · 0 评论 -
BM98 螺旋矩阵 C++ 详细注释
https://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31思路:按右、下、左、上的方向遍历矩阵,注意边界判断class Solution {public: vector<int> spiralOrder(vector<vector<int> > &matrix) { vector<int> ans; if (!matrix.empty原创 2022-03-28 17:41:08 · 737 阅读 · 0 评论 -
BM16 删除有序链表中重复的元素-II C++ 详细注释
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024思路:三指针/** * struct ListNode { * int val; * struct ListNode *next; * }; */class Solution {public: /** * * @param head ListNode类 * @return ListNode类 */原创 2022-03-28 16:25:48 · 873 阅读 · 0 评论 -
BM15 删除有序链表中重复的元素-I C++ 详细注释
https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79思路:遍历链表,判断当前结点值是否与下一结点值相等/** * struct ListNode { * int val; * struct ListNode *next; * }; */class Solution {public: /** * * @param head ListNode类 * @return Lis原创 2022-03-28 11:29:38 · 655 阅读 · 0 评论 -
BM6 判断链表中是否有环 C++ 详细注释
https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9思路:快慢指针,注意边界判断/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution原创 2022-03-27 14:48:47 · 368 阅读 · 0 评论 -
BM64 最小花费爬楼梯 C++ 详细注释
https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7思路:动态规划,使用数组保存爬上下标为i的台阶的最小开销class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cost int整型vector * @return int整型 */ int原创 2022-03-27 13:48:40 · 260 阅读 · 0 评论 -
BM35 判断是不是完全二叉树 C++ 详细注释
https://www.nowcoder.com/practice/8daa4dff9e36409abba2adbe413d6fae思路:层次遍历,若前后两个结点不连续则不是完全二叉树bool isCompleteTree(TreeNode *root) { // 通过队列进行层次遍历 queue<TreeNode *> parents; // 记录当前结点的下标和层次遍历中前一结点的下标,若前后两个结点不连续则不是完全二叉树 int i = 1, pre =原创 2022-03-25 16:36:26 · 907 阅读 · 0 评论 -
BM32 合并二叉树 C++ 详细注释
https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */class Solution {public: /** * * @param t1 TreeNode类 * @param t2 Tr原创 2022-03-25 13:42:29 · 1149 阅读 · 0 评论 -
BM53 缺失的第一个正整数 C++ 详细注释
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5思路:先将num[i]放到num[num[i]-1]的位置上,若num[i]不为i+1,则i+1为所求#include <iostream>#include <vector>using namespace std;int minNumberDisappeared(vector<int> &nums) { int原创 2022-03-25 11:00:11 · 1247 阅读 · 0 评论 -
BM54 三数之和 C++ 详细注释
https://www.nowcoder.com/practice/345e2ed5f81d4017bbb8cc6055b0b711思路:先将数组升序排序,再遍历数组,使用头尾指针寻找两个和为当前数相反数的数,注意不要出现重复#include <iostream>#include <vector>#include <algorithm>using namespace std;vector<vector<int>> threeSum(原创 2022-03-24 13:17:26 · 672 阅读 · 0 评论 -
BM86 大数加法 C++ 详细注释
https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475#include <iostream>#include <algorithm>using namespace std;string solve(string s, string t) { if (s.empty() && t.empty()) return 0; if (s.empty())原创 2022-03-23 16:34:22 · 152 阅读 · 0 评论 -
BM88 判断是否为回文字符串 C++ 详细注释
https://www.nowcoder.com/practice/e297fdd8e9f543059b0b5f05f3a7f3b2class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @return bool布尔型 */ bool judge(string str) { // 头尾指原创 2022-03-23 12:59:03 · 396 阅读 · 0 评论 -
BM22 比较版本号 C++ 详细注释
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7思路:每次取最前的一个版本号进行判断class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 比较版本号 * @param version1 string字符串 * @param version2 string字符串原创 2022-03-22 13:17:22 · 491 阅读 · 0 评论 -
BM17 二分查找-I C++ 详细注释
https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47bclass Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param target int整型 * @return int整型 */ int原创 2022-03-22 10:27:58 · 343 阅读 · 0 评论