02 2025 档案

摘要:110.平衡二叉树 需要知道左右子树的高度后才知道中间节点是否平衡,故采用后序遍历,只要找到一个不平衡的节点则不是平衡二叉树 使用全局变量bool is_balanced = 1;记录是否存在不平衡节点,出现不平衡节点则将该标志更新为0,表示不平衡 点击查看代码 class Solution { p 阅读全文
posted @ 2025-02-27 21:36 coder小杰 阅读(1) 评论(0) 推荐(0) 编辑
摘要:226.翻转二叉树 先序后序均可,不能中序,会导致一颗子树被反复翻转 点击查看代码 class Solution { public: void Travesal(TreeNode *root) { if(root == nullptr) return; swap(root->left, root-> 阅读全文
posted @ 2025-02-26 22:11 coder小杰 阅读(2) 评论(0) 推荐(0) 编辑
摘要:二叉树节点定义 点击查看代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), lef 阅读全文
posted @ 2025-02-26 00:18 coder小杰 阅读(5) 评论(0) 推荐(0) 编辑
摘要:150.逆波兰表达式求值 栈的应用:后缀表达式求值 点击查看代码 class Solution { public: int evalRPN(vector<string>& tokens) { stack<int> stk; for(int i = 0; i < tokens.size(); ++i) 阅读全文
posted @ 2025-02-23 21:55 coder小杰 阅读(0) 评论(0) 推荐(0) 编辑
摘要:栈的常用接口: stack stk; stk.push(10); stk.pop(); stk.top() //返回栈顶元素的引用,可作为左值,也可作为右值 stk.empty() //判空 stk.size() 队列的常用接口: queue que; que.push(10); que.pop() 阅读全文
posted @ 2025-02-22 15:50 coder小杰 阅读(1) 评论(0) 推荐(0) 编辑
摘要:151.翻转字符串里的单词 点击查看代码 class Solution { public: void reverseStr(string &str, int left, int right) { while(left < right) { swap(str[left], str[right]); + 阅读全文
posted @ 2025-02-22 10:58 coder小杰 阅读(1) 评论(0) 推荐(0) 编辑
摘要:344.反转字符串 点击查看代码 class Solution { public: void reverseString(vector<char>& s) { //注意循环条件不能写成i != j,当s.size()为偶数时,i、j并不会落到同一位置 for(int i = 0, j = s.siz 阅读全文
posted @ 2025-02-20 20:36 coder小杰 阅读(2) 评论(0) 推荐(0) 编辑
摘要:454.四数相加Ⅱ map作为哈希表 点击查看代码 class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) { 阅读全文
posted @ 2025-02-19 22:07 coder小杰 阅读(5) 评论(0) 推荐(0) 编辑
摘要:哈希表概述 哈希表是根据key值直接进行访问的数据结构,一般用于快速查询一个元素(key值)是否出现过,是否在一个集合中,查询时间复杂度为O(1)。 常见的三种用于作哈希表的数据结构: 1、数组 本质上存放的也是键值对,只不过key值是数组下标 一般使用数组来做哈希的题目,是因为题目都限制了数值的大 阅读全文
posted @ 2025-02-18 00:23 coder小杰 阅读(157) 评论(0) 推荐(0) 编辑
摘要:24.两两交换链表中的节点 点击查看代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} 阅读全文
posted @ 2025-02-16 15:30 coder小杰 阅读(275) 评论(0) 推荐(0) 编辑
摘要:定义、创建、初始化一个链表节点 点击查看代码 Definition for singly-linked list. struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(in 阅读全文
posted @ 2025-02-15 17:08 coder小杰 阅读(335) 评论(0) 推荐(0) 编辑
摘要:209.长度最小的子数组 (滑动窗口) 解法一:自创暴力解,先遍历完所有长度为1的子数组,再遍历所有长度为2的子数组,以此类推 点击查看代码 class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { // 阅读全文
posted @ 2025-02-13 23:59 coder小杰 阅读(497) 评论(0) 推荐(0) 编辑
摘要:704.二分查找 点击查看代码 class Solution { public: int search(vector<int>& nums, int target) { int left = 0, right = nums.size() - 1; //左闭右闭区间 while(left <= rig 阅读全文
posted @ 2025-02-12 23:46 coder小杰 阅读(621) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示