
C++
SCUT_AUTO143
无
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++刷Leetcode 563.二叉树的梯度
给定一个二叉树,计算整个树的坡度。 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。 整个树的坡度就是其所有节点的坡度之和。 示例: 输入: 1 / \ 2 3 输出: 1 解释: 结点的坡度 2 : 0 结点的坡度 3 : 0 结点的坡度 1 : |2-3| = 1 树的坡度 ...原创 2019-12-10 20:52:58 · 298 阅读 · 0 评论 -
C++刷Leetcode 783.二叉搜索树结点最小距离
给定一个二叉搜索树的根结点root, 返回树中任意两节点的差的最小值。 示例: 输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点对象(TreeNode object),而不是数组。 给定的树 [4,2,6,1,3,null,null] 可表示为下图: 4 / \ 2 ...原创 2019-12-08 20:18:39 · 272 阅读 · 0 评论 -
C++刷Leetcode 653.两数之和IV
给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 输出: True 案例 2: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 28 ...原创 2019-12-07 10:44:50 · 229 阅读 · 0 评论 -
C++刷Leetcode 404.左叶子之和
计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 题目链接https://leetcode-cn.com/problems/sum-of-left-leaves/ /** * Definition for a binary tree node....原创 2019-12-05 10:26:10 · 274 阅读 · 0 评论 -
C++刷Leetcode 437.路径总和III
给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 示例: root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 ...原创 2019-12-04 15:23:04 · 210 阅读 · 0 评论 -
C文件读写(一)
刷牛客网的C++专项练习时,遇到C文件读写的题目基本都是白给,这块知识是盲区。 c语言文件读写相关函数及文件指针FILE *的定义都在stdio.h头文件里,以下所有操作都需要#include <stdio.h> 一、fopen函数 FILE *fopen( const char *name,const char *mode ) fopen()返回的是一个文件指针,第一个参...原创 2019-07-23 16:05:43 · 466 阅读 · 0 评论 -
C语言字节对齐二
带有#pragmapack(n)指令情况下的字节对齐 根据百度百科的解释,编译器中提供了#pragmapack(n)来设定变量以n字节对齐方式。n字节对齐就是说变量存放的起始地址的偏移量有两种情况:第一、如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式,第二、如果n小于该变量的类型所占用的字节数,那么偏移量为n的倍数,不用满足默认的对齐方式。结构的总大小也有个约束条件,分...原创 2019-07-29 20:23:22 · 476 阅读 · 0 评论 -
C文件读写(二)
六、rewind void rewind(FILE * stream),相当于调用fseek(stream, 0L, SEEK_SET),把stream移动文件头 七、fgetc、fgets int fgetc(FILE * stream):从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF char * fgets(char * s,int size,FIL...原创 2019-07-24 10:34:40 · 191 阅读 · 0 评论 -
C语言字节对齐
在牛客刷C/C++题目时,遇到了很多结构体sizeof的问题,才发现自己不知道字节对齐这个知识点,这里恶补一波相关知识点。 1.定义(百度百科给出的定义): 其实字节对齐的细节和具体编译器实现相关,但一般而言,满足三个准则: 1)结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要编译器会在成员之间加上填充...原创 2019-06-15 17:49:30 · 288 阅读 · 0 评论 -
侯捷《面向对象高级编程》笔记2
1.类有指针成员时,必须有拷贝构造、拷贝赋值函数 2.如果没有定义拷贝构造函数,当用户进行拷贝构造时,调用默认的拷贝构造函数,浅拷贝一个对象,后期如果修改其中一个,另一个也会被修改,另外拷贝的对象原来指向的内存就成了孤儿,内存泄漏了 3.拷贝赋值函数需要检测自我赋值,否则当用户自我赋值时会失败 4.stack,存在于某作用域的一块内存空间。调用函数,函数本身会形成一个stack来存放接收的参数...原创 2019-06-09 17:19:33 · 262 阅读 · 0 评论 -
侯捷《C++面向对象高级编程》1-6节笔记
1.总体来说,C++的类分为两大类,基于对象(object based)、面向对象(object oriented),区别是前者单一类,后者包含多种类(继承、组合、指派等) 2.类声明文件(.h)写上预编译语句,防止重复声明 有些IDE在.h文件时自带了这些语句,如CodeBlocks #ifndef COMPLEX_H_INCLUDED #define COMPLEX_H_INCL...原创 2019-06-08 21:13:07 · 259 阅读 · 0 评论 -
STL入门之容器
一、STL介绍 引用维基百科的介绍,标准模板库(英文:Standard Template Library,缩写:STL),是一个C++软件库,大量影响C++标准程序库但并非是其的一部分。 其中包含4个组件,分别为算法、容器、函数、迭代器。 二、容器 分顺序容器、关联容器两类 2.1 顺序容器 1.vector:可变大小数组,支持快速随机访问,在除尾部的其他地方插入或者删除元素可能都很慢 ...原创 2019-05-29 16:53:26 · 229 阅读 · 0 评论