摘要: 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解题思路 1. 解法1 超过一半的数据一定位于数组的中位数位置,故可以使用基于 阅读全文
posted @ 2016-08-17 13:10 峰扬迪 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 解题思 阅读全文
posted @ 2016-08-17 10:56 峰扬迪 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解题思路 中序遍历就是数据递增(非递减)出现的,每次记录上一次出现的值,也即当前遍历结点的上一个结点。 实现 阅读全文
posted @ 2016-08-17 10:31 峰扬迪 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解题思路 首先遍历结点同时,复制结点插入原来的结点的后面。然后再遍历一遍, 阅读全文
posted @ 2016-08-17 09:35 峰扬迪 阅读(138) 评论(0) 推荐(0) 编辑