• 2024-07-02【MySQL】mysql访问
    mysql访问1.引入MySQL客户端库2.C/C++进行增删改3.查询的处理细节4.图形化界面访问数据库4.1下载MYSQLWorkbench4.2MYSQLWorkbench远程连接数据库点赞
  • 2024-06-24链表实现队列
    #include<iostream>#include<stdexcept>//定义链表节点结构structNode{intdata;Node*next;};//链表队列类classLinkedListQueue{private:Node*front;//队头指针Node*rear;//队尾指针public://构造函数,初始化队头和队尾指针
  • 2024-06-22LeetCode刷题day4——链表part2
    24.两两交换链表中的节点用pre代表第1个节点,cur代表它后面的相邻节点,tmp存储cur->next。但是问题找不到怎么返回新的节点。想着就循环一次,在第一次交换的时候就确认新的头结点。但还存在很多问题,具体如下:classSolution{public:ListNode*swapPairs(ListNode*he
  • 2024-06-17C++ -- 红黑树的基本操作
    目录摘要基本规则基本操作利用Graphviz库总结摘要红黑树是一种自平衡的二叉搜索树,它在插入和删除节点时,通过颜色和旋转操作保持树的平衡,确保插入、删除和查找的时间复杂度都是(O(logn))。红黑树的每个节点都有一个颜色属性,红色或黑色。通过一些规则,红黑树保持了相对
  • 2024-06-15c++11新特性之关键字(关于auto、nullptr)
    1.auto用途:用于编译器自动推断出变量类型,这里列举几种比较典型的情况:(1)自动类型推导autox=10;//x的类型是intautoy=3.14;//y的类型是doubleautoz='c';//z的类型是char(2)与迭代器一起使用:当处理STL容器时,auto可以帮助我们自动推导迭代
  • 2024-06-12验证二叉搜索树-力扣
    第一次做这道题时,想的解法是递归去判断比较左节点小于中间节点,右节点大于中间节点,而这恰恰进入了陷阱,这道题不仅仅是判断子树是否左节点小于中间节点,右节点大于中间节点;要比较的是左子树所有节点小于中间节点,右子树所有节点大于中间节点。附上错误代码:classSolution{pu
  • 2024-06-11左叶子之和-力扣
    本题计算二叉树的左叶子之和,使用后序遍历的顺序对二叉树进行深度搜索,关键点在于,对左叶子节点的值的操作上,需要在左叶子节点的父节点进行。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right
  • 2024-06-10二叉树的所有路径-力扣
    这道题目需要返回给定二叉树所有从根节点到叶子节点的路径,那么对二叉树进行深度优先搜索,遇到节点就将其加到路径中,如果这个节点的左右子节点都为空,那么它就是一个叶子节点,将这条路径加入到结果数组中。这里将int转换为string使用了to_string()函数。/***Definition
  • 2024-06-09Leetcode1161. 最大层内元素和
    EverydayaLeetcode题目来源:1161.最大层内元素和解法1:层序遍历每次以「层」为单位进行拓展,统计该层的元素和,维护处理过程中的最大值层数和,以及层深度。代码:/**@lcapp=leetcode.cnid=1161lang=cpp**[1161]最大层内元素和*///@lccode=start/***
  • 2024-06-08【力扣】对称二叉树
    给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false队列层序遍历流程进行两次同步遍历,分别从根节点的左子树和右子树开始,然后比较每个节点的值代码实现classSolution
  • 2024-06-08【力扣】翻转二叉树
    给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[]递归法流程把每一个节点的左右孩子互换,就实现了整体翻转的效果。使用递归
  • 2024-06-08Expression:result_pointer != nullptr 程序错误解决
    这个错误消息表明程序在运行时遇到了断言失败。在C和C++编程中,断言(assertion)是一种运行时检查,用于验证程序中的某些条件是否为真。如果条件不满足,程序会触发断言失败,通常会导致程序中断或进入调试模式。错误发生在C运行时库的内部标准输入输出头文件中的一个断言检查。具体
  • 2024-06-05二叉树的中序遍历-力扣
    二叉树的中序遍历,指首先遍历左节点,然后遍历中间节点,最后遍历右节点,按照这个顺序进行递归即可。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullp
  • 2024-06-05二叉树的层序遍历-力扣
    本题是二叉树的层序遍历,通过一个队列来控制遍历的节点,二叉树每层的节点和上一层入队的节点个数是相同的,根据这一点编写循环条件。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*
  • 2024-06-05100. Same Tree
    Giventherootsoftwobinarytreespandq,writeafunctiontocheckiftheyarethesameornot.Twobinarytreesareconsideredthesameiftheyarestructurallyidentical,andthenodeshavethesamevalue.Example1:Input:p=[1,2,3],q=[1,2
  • 2024-06-02代码随想录算法训练营第二十一天 | 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数
    530.二叉搜索树的最小绝对差题目链接文章讲解视频讲解关键词:二叉搜索树-->中序遍历关于递归的返回值  由于需要遍历整棵二叉树,所以返回值为void,如果不是遍历整棵二叉树,需要在得到结果时立即返回结果,此时返回值才不为空怎样使用两个指针pre和cur使得pre始终指向cur的前
  • 2024-06-01单例模式线程安全reorder问题
    单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。下面是一个使用C++实现的线程安全的单例模式的例子:classSingleton{private:staticstd::atomic<Singleton*>instance;//静态私有实例指针使用原子操作类atomic线程安全sta
  • 2024-05-31c++ NULL nullptr 区别
     C++中NULL和nullptr的区别在编写C程序的时候只看到过NULL,而在C++的编程中,我们可以看到NULL和nullptr两种关键字,其实nullptr是C++11版本中新加入的,它的出现是为了解决NULL表示空指针在C++中具有二义性的问题,为了弄明白这个问题,我查找了一些资料,总结如下。一、C程序中的NULL
  • 2024-05-30【QT】TCP网络通信
    第一步:.pro工程文件添加QT+=network第二步:.h文件添加#ifndefTCPSERVER_H#defineTCPSERVER_H#include<QException>#include<QDebug>#include<QTcpServer>#include<QTcpSocket>classTcpServer:publicQObject{Q_OBJECTpublic:T
  • 2024-05-29PTA——数和二叉树
    7-10建立与遍历二叉树以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’,表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉链式存储结构的二叉树,然后中序遍历该二叉树并输出结点数据。输入格式:字符串形式的先序序列(即结点的数据类型为单
  • 2024-05-27赛克oj 1528(二叉搜索树)
    赛氪OJ-专注于算法竞赛的在线评测系统(saikr.com)题目描述小明初始的二叉搜索树是空树,他有一个长度为2∗
  • 2024-05-27Qt 漂亮的Material样式对话框(QtMaterialDialog)
    前言在实际项目开发中,对于漂亮美观的UI界面大多数都是采用样式表来实现的,但是实际上即使是样式表很少也能实现比较带科技炫酷的风格,本篇介绍的是模仿谷歌Material风格的UI界面,基于大牛的第三方开源控件库,界面效果大致如下正文我对接口进行了封装,关键代码献上:头文件:1#
  • 2024-05-235.23链表相交
    链接如下:https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/solutions/1395092/lian-biao-xiang-jiao-by-leetcode-solutio-2kne/这道题比较简单,暴力循环就可以结束,但是看官方题解还是有些技巧在的,索性也就记录一下。先说下我自己的思路,我自己的思路就是类似
  • 2024-05-07NULL和nullptr的区别
    `NULL`和`nullptr`是在C++中用于表示空指针的关键字,它们的主要区别如下:1.**类型:**-`NULL`是在C语言中定义的宏,被定义为整数0或者`(void*)0`,它不是一个真正的空指针类型。-`nullptr`是C++11新增的关键字,它是一个空指针常量,是一个真正的空指针类型。2.**
  • 2024-05-01力扣-82. 删除排序链表中的重复元素
    1.题目题目地址(82.删除排序链表中的重复元素II-力扣(LeetCode))https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/题目描述给定一个已排序的链表的头 head, 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回已排序的链表 。 示例1: