![](https://img-blog.csdnimg.cn/ae78dd7963e648489060db6c3f0a860d.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
一天不刷题我都难受
zdb呀
一直往南方开,不会太久
展开
-
剑指 Offer 44. 数字序列中某一位的数字
剑指 Offer 44. 数字序列中某一位的数字 class Solution { public: int findNthDigit(int n) { int digit = 1; //位数 long start = 1; //位数起始值 long count = 9; while (n > count) { // 1.确定所求数位的所在数字的位数 n -= count; d原创 2022-03-31 10:39:39 · 285 阅读 · 0 评论 -
剑指 Offer 54. 二叉搜索树的第k大节点(简单,中序遍历递归)
题目链接:剑指 Offer 54. 二叉搜索树的第k大节点 方法一:中序遍历成递增数组 class Solution { public: void inorder(TreeNode* root, vector<int>& res) { //中序遍历 从小到大排序 if (root == nullptr) return; inorder(root->left, res); res.push_back(root->val); inorder(root-&原创 2021-11-18 22:17:41 · 609 阅读 · 0 评论 -
剑指 Offer 61. 扑克牌中的顺子(简单,哈希表)
题目链接:https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/ 思路一:哈希表+遍历 class Solution { public: //方法一:哈希表 + 遍历 //大小王可以当任意牌,大小王可以重复 12345是顺子 10JQKA不是顺子 //时间复杂度:O(n)=O(5)=O(1) //空间复杂度:O(n)=O(5)=O(1) bool isStraight(vector<int>&原创 2021-11-18 21:21:12 · 388 阅读 · 0 评论 -
剑指 Offer 32 - III. 从上到下打印二叉树 III(中等,层序遍历)
题目链接:剑指 Offer 32 - III. 从上到下打印二叉树 III 题目基础:剑指 Offer 32 - II. 从上到下打印二叉树 II 该题与上一题相比,多了个偶数层反转,所以我们只需要在上一题的代码上加上这一个功能 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> v; if (root == nu原创 2021-11-15 14:33:05 · 286 阅读 · 0 评论 -
剑指 Offer 32 - II. 从上到下打印二叉树 II(简单,层序遍历)
题目链接:剑指 Offer 32 - II. 从上到下打印二叉树 II 相同题目:102. 二叉树的层序遍历 其实就是层序遍历 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> v; if (root == nullptr) return v; queue<TreeNode*> q; q.p原创 2021-11-15 14:18:39 · 542 阅读 · 0 评论 -
剑指 Offer 32 - I. 从上到下打印二叉树(中等,层序遍历)
题目链接:剑指 Offer 32 - I. 从上到下打印二叉树 思路:层序遍历 class Solution { public: vector<int> levelOrder(TreeNode* root) { vector<int> v; if (root == nullptr) return v; queue<TreeNode*> q; q.push(root); while (!q.empty()) { int current_lev原创 2021-11-15 14:12:26 · 212 阅读 · 0 评论 -
112. 路径总和
题目链接:112. 路径总和 思路一:迭代 stack和queue都能实现功能,差距只是在pop上 stack时间复杂度好点,毕竟栈头的结点与栈尾的结点相比更可能是叶子结点 class Solution { public: bool hasPathSum(TreeNode* root, int targetSum) { if (!root) return false; stack<pair<TreeNode*, int>> s;原创 2021-11-11 21:12:42 · 188 阅读 · 0 评论