解题思路: 1、建二叉树(静态链表) 不作为任何结点的孩子结点的即为根结点 2、判断是否同构 1)空树,同构 2)两棵树中若只有其中一棵是空树,则不同构 3)两棵树的根结点值不等,不同构 4)若左子树均空,则递归判断右子树 5)若左子树均不空, 比较左子树的根结点值 相等:则没有交换左右子树,判断树 ...
分类:
其他好文 时间:
2020-03-08 17:21:07
阅读次数:
90
一:解题思路 这道题目介绍2种方法。解法一:利用位运算来做,数组中所有的数字都是成对出现的,只有一个是单独出现的,那么我们可以利用异或的性质来做。解法二:利用集合set的特性,把所有数字添加到集合中(每个数字只出现一次),然后将集合中的数字乘以2减去原来数组元素和。 二:完整代码示例 (C++版和J ...
分类:
其他好文 时间:
2020-03-07 20:53:40
阅读次数:
70
一:解题思路 对于这样的题目,不能使用加(+)、减(-),从而求两数之和。连最基本的+,-都不能用,那么肯定就要想到位运算了。找到里面的规律,进而总结出一般性的结论出来。比如,来举个例子,9+11 在二进制的层面来进行运算,为什么要用9和11两个数呢?因为他们包含了相加的多种情况在里面。 二:完整代 ...
分类:
其他好文 时间:
2020-03-07 17:36:26
阅读次数:
83
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 递归思想,如果根节点相同则递归调用match(),如果根节点不相同,则判断 的左子树或右子树与 是否相同。 注意节点为空的条件, 中,只要有一棵树树为空就返回 ; 中,要先判断 ,如果 为 ...
分类:
其他好文 时间:
2020-03-06 23:37:49
阅读次数:
72
解题思路: 1、初始化散列表,用于标记散列地址是否已用 2、构造结构体,(关键字去重)记录关键字的值和地址 3、读入数据,判断该关键字是否重复查询 4、用辅助数组记录每个关键字的地址,遍历输出 #include <stdio.h> #include <string.h> typedef struct ...
分类:
其他好文 时间:
2020-03-06 17:10:34
阅读次数:
132
解题思路: 用散列表(链表结构) 1、计算散列表长度(取比输入数据大一点的素数p) 2、构造散列函数 3、读入数据,求出散列位置插入 4、一边遍历散列表,一边求出现最多的电话狂人 #include <stdio.h> #include <malloc.h> #include <string.h> # ...
分类:
其他好文 时间:
2020-03-06 13:00:47
阅读次数:
75
题目大意: 给定两个多项式长度 n 和 m ,再给定每一项的系数,由常数项到最高次项 保证多项式所有项系数的最大公约数为 1 再给定一个质数 p 问两个多项式相乘后得到的第三个多项式中 哪一项的系数不是 p 的倍数,输出这个项的x的幂次(下标) 存在多个答案时,输出任意一个 解题思路: 从 “保证多 ...
分类:
其他好文 时间:
2020-03-06 01:05:38
阅读次数:
82
一:题目简介以及来源 来源于leetocode125。 这个题目说的是,给你一个字符串,你要判断它是否是回文字符串。字符串里只考虑字母和数字,其它的字符可以无视。另外,对于字母,可以忽略大小写。 二:解题思路 1.看到判断是否为回文字符串肯定要想到双指针法,一个指向字符串的头部,一个指向字符串的尾部 ...
分类:
编程语言 时间:
2020-03-05 13:51:37
阅读次数:
85
近期由于疫情的原因,大家都在家中上着网课,而在数学选修2 3排列组合第一堂课中,王丽老师的一道例题,引发了我的思考。 $~~$ 题目的描述是这个样的: 这道题的解题思路有很多种, 我们不妨把这四个人,设为$~A、B、C、D~$四个。 例如正着思考(老师上课讲的): 不妨令 $A$ 作为第一个人去拿贺 ...
分类:
其他好文 时间:
2020-03-05 13:49:47
阅读次数:
61
请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字 ...
分类:
其他好文 时间:
2020-03-04 23:10:30
阅读次数:
51