二叉树的构建与遍历
问题描述 假设二叉树中的每个结点值为单个整数,采用二叉链结构存储,假定每颗二叉树不超过2000个节点。设计算法完成 按从左到右的顺序输出二叉树的叶子结点 按从右到左的顺序输出二叉树的叶子结点 输出二叉树所有的节点,按照从根节点开始,逐层输出,同一层按照从右向左的顺序 输入形式 每个测试是一颗二叉树的括号表示法字符串 输出形式 第一行是按从左到右的...
问题描述 假设二叉树中的每个结点值为单个整数,采用二叉链结构存储,假定每颗二叉树不超过2000个节点。设计算法完成 按从左到右的顺序输出二叉树的叶子结点 按从右到左的顺序输出二叉树的叶子结点 输出二叉树所有的节点,按照从根节点开始,逐层输出,同一层按照从右向左的顺序 输入形式 每个测试是一颗二叉树的括号表示法字符串 输出形式 第一行是按从左到右的...
质数 质数的判定:试除法 时间复杂度O(sqrt(n)) 给定 n 个正整数 ai,判定每个数是否是质数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数,是则输出 Yes,否则输出 No。 数据范围 1≤n≤100, 1≤ai≤231−1 输入样例: 2 2 ...
题设 在一个 3×3 的网格中,1∼8 这 8 个数字和一个 x 恰好不重不漏地分布在这 3×3 的网格中。 例如: 1 2 3 x 4 6 7 5 8 在游戏过程中,可以把 x 与其上、下、左、右四个方向之一的数字交换(如果存在)。 我们的目的是通过交换,使得网格变为如下排列(称为正确排列): 1 2 3 4 5 6 7 8 x 例如,示例中图形就可以通过让 x 先后与右...
题设 给定一个 R×S 的大写字母矩阵,你的起始位置位于左上角,你可以向上下左右四个方向进行移动,但是不能移出边界,或者移动到曾经经过的字母(左上角字母看作第一个经过的字母)。 请问,你最多可以经过几个字母。 输入格式 第一行包含两个整数 R 和 S,表示字母矩阵的行和列。 接下来 R 行,每行包含一个长度为 S 的大写字母构成的字符串,共同构成字母矩阵。 输出格式 输出一个整...
题设 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。 要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k个棋子的所有可行的摆放方案数目 C。 输入格式 输入含有多组测试数据。 每组数据的第一行是两个正整数 n,k,用一个空格隔开,表示了将在一个 n∗n 的矩阵内描述棋盘,以及摆放棋子的数目。当为-1 -1时...
DFS 深度优先算法 排列数字 给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1≤n≤7 输入样例: 3 输出样例: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 #i...
vector 变长数组 倍增思想 系统为某一程序分配空间时,所需时间与空间大小无关,与申请次数有关。 因此vector的扩容是通过每次开辟一个长度为原数组两倍的数组,再将原数组内容拷贝到新数组。 vector支持比较运算,按字典序比较。 Pair 常用于储存一个事物的两种属性,比二元组结构体更方便 String substr、c_str Queue queue没有clea...
题设 Given an array of characters chars, compress it using the following algorithm: Begin with an empty string s. For each group of consecutive repeating characters in chars: If the group’s len...
题设 Input Input consists of two lines. The first line contains s1 and the second line contains s2. You may assume all letters are in lowercase. Output Output consists of a single line that conta...
链表 0. 实现方式 在算法竞赛中,链表通常不以结构体的形式实现,原因在于建新节点的时间太长。链表通常以数组的形式实现。 1. 单链表 实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数; 删除第 k 个插入的数后面的一个数; 在第 k 个插入的数后插入一个数。 现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中...