Day20 | 二叉树 二叉树所有路径&&左叶子之和
代码随想录 | Day20 | 二叉树:二叉树所有路径&&左叶子之和主要学习内容: 1.利用二叉树的谦虚遍历进行题目解答 2.to_string函数的使用 257.二叉树所有路径257. 二叉树的所有路径 - 力扣(LeetCode) 解法一:直接遍历本次使用的是前序遍历 1.函数参数和返回值 1void tra(string s,TreeNode *t) 如果不使用全局变量vector的话为 1void tra(vector<string>,string s,TreeNode...
LeetCode Hot100 | Day4 | 层序遍历&&有序数组转搜索树&&验证搜索树&&搜索树中第K小的元素
LeetCode Hot100 | Day4 | 层序遍历&&有序数组转搜索树&&验证搜索树&&搜索树中第K小的元素102.二叉树的层序遍历102. 二叉树的层序遍历 - 力扣(LeetCode) 完整代码: 123456789101112131415161718192021222324252627class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> res; queue<TreeNode*> q; if(root==nullptr) return res; q.push(root); while(!q.empty()) { int size=q.size(); ...
Day19 | 复习二叉树所写部分
代码随想录 | Day19 | 复习二叉树所写部分Day 16 对称二叉树记忆不清晰,只有个大概的轮廓,但后序遍历(严格来说并不是)还是可以写出,层序遍历不记得方法 Day17 111. 二叉树的最小深度 - 力扣(LeetCode) 最小深度不够熟悉,方法也忘记了,也写错了,后续需要再次复习 Day18 222. 完全二叉树的节点个数 - 力扣(LeetCode) 利用二叉树性质的做法需要复习 110. 平衡二叉树 - 力扣(LeetCode) 123456789101112131415161718class Solution {public: bool flag=true; int backtracking(TreeNode *t) { if(t==nullptr) return 0; int l=1+backtracking(t->left); int r=1+backtracking(t->right); if(abs(l-r)>1) ...
MYSQL数据库连接池 | C++ | 项目实战
MYSQL数据库连接池 | C++ | 项目实战笔记通过施磊老师C++数据库连接池项目写出,供自己复习与大家参考 1.项目可以实现什么为了提高MySQL数据库(基于C/S设计)的访问瓶颈,除了在服务器端增加缓存服务器缓存常用的数据之外(例如redis),还可以增加连接池,来提高MySQL Server的访问效率,在高并发情况下,大量的TCP三次握手、MySQL Server连接认证、MySQL Server关闭连接回收资源和TCP四次挥手...
LeetCode Hot100 | Day3 | 二叉树 翻转二叉树&&对称二叉树
LeetCode Hot100 | Day3 | 二叉树:翻转二叉树&&对称二叉树226.翻转二叉树226. 翻转二叉树 - 力扣(LeetCode) 后序遍历交换两个结点就行 完整代码: 123456789101112131415class Solution {public: void tra(TreeNode *t) { if(t==nullptr) return; tra(t->left); tra(t->right); swap(t->left,t->right); } TreeNode* invertTree(TreeNode* root) { tra(root); return root; }}; 101.对称二叉树101. 对称二叉树 -...
Day18 | 二叉树 完全二叉树的节点个数&&平衡二叉树
代码随想录 | Day18 | 二叉树:完全二叉树的节点个数&&平衡二叉树主要学习内容: 1.完全二叉树的性质,满二叉树的节点数量的计算 2.树的高度和深度问题要用后序遍历更加合适 222.完全二叉树的节点个数222. 完全二叉树的节点个数 - 力扣(LeetCode) 解法一:直接遍历前序遍历 1234567891011121314151617class Solution {public: int res; void r(TreeNode *t) { if(t==nullptr) return; res++; r(t->left); r(t->right); } int countNodes(TreeNode* root) { res=0; r(root); return res; ...
施磊C++ | 进阶学习笔记
施磊C++ | 进阶学习笔记一、对象的应用优化、右值引用的优化1.1 构造,拷贝,赋值,析构中的优化1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include<iostream>using namespace std;class test{public: test(int a = 10) :ma(a) { cout << "test(int)" << endl; } ~test() { cout << "~test" << endl; } test(const test& t) :ma(t.ma) { cout << "test(const &)" << endl; } test&...
施磊C++ | 进阶学习笔记 | 博客汇总
施磊C++高级进阶课程 | 学习笔记 | 博客汇总以下是CSDN链接 施磊C++ | 进阶学习笔记 | 1.对象的应用优化、右值引用的优化-CSDN博客 施磊C++ | 进阶学习笔记 | 2.智能指针-CSDN博客 施磊C++ | 进阶学习笔记 | 3.绑定器和函数对象、lambda表达式-CSDN博客 施磊C++ | 进阶学习笔记 | 4.c++11内容汇总、多线程应用实践-CSDN博客 施磊C++ | 进阶学习笔记 | 5.设计模式-CSDN博客 剩余有关面试的等到明年投简历前学习
MySQL API 使用详解
MySQL API 使用详解连接数据库的步骤众所周知,MySQL数据库是一个典型的C/S结构,即:客户端和服务器端。如果我们部署好了MySQL服务器,想要在客户端访问服务器端的数据,在编写程序的时候就可以通过官方提供的C语言的API来实现。 在程序中连接MySql服务器,主要分为已经几个步骤: 初始化连接环境 连接mysql的服务器,需要提供如下连接数据: 服务器的IP地址 服务器监听的端口(默认端口是3306) 连接服务器使用的用户名(默认是 root),和这个用户对应的密码 要操作的数据库的名字 连接已经建立, 后续操作就是对数据库数据的添删查改 这些操作都是需要通过sql语句来完成的 数据查询:通过调用api 执行一个查询的sql语句 数据修改(添加/删除/更新):通过调用api 执行一个修改数据的sql语句 如果要进行数据 添加/ 删除/ 更新,需要进行事务的处理 需要对执行的结果进行判断 成功:提交事务 失败:数据回滚 数据库的读操作 -> 查询 -> 得到结果集 遍历结果集 ->...
LeetCode Hot100 | Day2 | 二叉树 二叉树的中序遍历&&二叉树的最大深度
LeetCode Hot100 | Day2 | 二叉树:二叉树的中序遍历&&二叉树的最大深度注:和之前写过题解的部分且能够一遍写出来的不再写题解(可以写写注意点) 94.二叉树的中序遍历94. 二叉树的中序遍历 - 力扣(LeetCode) 12345678910111213141516class Solution {public: vector<int> res; void tra(TreeNode *t) { if(t==nullptr) return; tra(t->left); res.push_back(t->val); tra(t->right); } vector<int> inorderTraversal(TreeNode* root) { tra(root); return res; ...














