摘要:
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解题思路 定义preNode指向当前结点pNode的前一个节点,每次访问pNode时首先判断它与后面节点是否重复,若 阅读全文
摘要:
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 解题思路 max_dep保存最大深度,cur_dep保存当前遍历节点的深度,均初始化为0。利用前序遍历的思想,每次访问到一个节点,先对cur_dep加1,若当前节点为叶 阅读全文
摘要:
题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 解题思路 利用前序遍历的思想,定义FindPath函数,其中paths保存所有符合题目要求的路径,path保存当前遍历到的路径,cNum为当前路径和 阅读全文
摘要:
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 代码 阅读全文
摘要:
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 解题思路 首先我们考虑这个问题的一个简单版本:一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。 这个题目的突破口在哪里?题目为什么要强调有一个数字出现一次,其 阅读全文
摘要:
题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a 阅读全文
摘要:
题目描述 统计一个数字在排序数组中出现的次数。 解题思路 既然看到排序数组,首先想到用二分查找法找数字。那么可以分别二分查找该数字出现的首序数和尾序数,这样便可得到总次数。以找数字首序数为例,首先判断start与end的大小,若start>end,说明数组中没有找到k,返回-1。然后比较中间数字da 阅读全文
摘要:
题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 解题思路 由于char类型一共有256种可能,所以开辟一个数组hash[256]用来记录每个字符出现的次数,这样遍历两次字符串即可得到结果。第一次更新hash数组中对应字符的次数,第 阅读全文
摘要:
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 阅读全文
摘要:
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,siz 阅读全文