二叉树操作模板

#include <bits/stdc++.h> using namespace std; struct TreeNode { int val; TreeNode *left, *right; TreeNode(int x = 0) : val(x), left(nullptr), right(nullptr) {} }; // 基本操作 in...

C++双向链表模板

#include <bits/stdc++.h> using namespace std; // 双向链表结点定义 struct Node { int data; // 数据域 Node *prev; // 前驱指针 Node *next; // 后继指针 //构造函数 Node(int x = 0):...

丢失的数字

题目描述给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。...

algorithm竞赛常用函数全解析

在算法竞赛中, 头文件是高频工具库,封装了排序、查找、遍历、修改、最值、区间操作等核心函数,能大幅简化代码、提升效率。以下按竞赛高频使用场景分类,讲解函数的原型、用法、竞赛考点、坑点,所有函数均适...

C++常用库函数

1. min()/max()min()函数用于比较得到较小数/字符串。max()函数用于比较得到较大数/字符串。 int a = 1, b = 2; string s1 = "wang"; string s2 = "ming"; cout << min(a, b) << endl; cout <...

字符串排序几种做法

1.用二维字符数组来排序 #include <bits/stdc++.h> using namespace std; #define N 100 char x[N][N]; char t[N]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { ...

各位相加

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例1输入: num = 38输出: 2解释: 各位相加的过程为:38 --> 3 + 8 --> 1111 --> 1 + 1 --> 2由于 2 是一位数,所以返回...

DoublyListNode

#include <bits/stdc++.h> using namespace std; struct DoublyListNode { int data; // 数据域 DoublyListNode *prev; // 指向前驱节点 DoublyListNode *next; // 指向后继节点 D...

2.2链表(linked list)

链表是动态的数据结构,是一种逻辑上相邻但物理结构上不一定相邻的线性表。 2.2.1单链表1.单链表的定义单链表由一系列节点组成,每个节点包含数据和指向下一个节点的指针。形如下图所示: 其中:(1)头...