摘要: 题目描述:一个字符串从左向右和从右向左读都完全一样则是回文串,给定一个字符串,问该字符串中的字符所能组成的最少的回文串的个数为多少 解题思路:如果一个字符出现的次数为偶数,则必能组成回文串,如果一个字符出现奇数次,只能自己组成回文串,题目中问最少的回文串数目,即求出现次数为奇数次的字符个数即可,定义 阅读全文
posted @ 2017-07-25 21:02 qqky 阅读(525) 评论(4) 推荐(1) 编辑
摘要: 题目描述:由两个完全一样的字符串组成的字符串称之为偶串,输入一个字符串,从末尾去掉若干个字符,还能构成偶串,问构成偶串的最大长度 解题思路:本题偶串,字符个数肯定为偶数个,从末尾开始删除,每次也必须删除偶数个才能保证可能为偶串,因此删除2 4 6 等等定义start为起始位置,mid为偶串中的右部分 阅读全文
posted @ 2017-07-25 21:00 qqky 阅读(532) 评论(0) 推荐(1) 编辑
摘要: 题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+ 阅读全文
posted @ 2017-07-06 14:03 qqky 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵 阅读全文
posted @ 2017-07-06 14:02 qqky 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] 阅读全文
posted @ 2017-07-06 14:00 qqky 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值 解题思路:分为两种情况,奇数取中间的数字,偶数取中间两个数的平均值。 使用两个堆来实现,左侧使用最大堆存 阅读全文
posted @ 2017-07-05 20:04 qqky 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 解题思路:使用中序遍历进行遍历,得到的就是按照顺序的,当遍历到第k个就输出即可。 1 /* 2 struct TreeNode { 3 int 阅读全文
posted @ 2017-07-05 20:03 qqky 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 解题思路:序列化的时候,遇到无子结点,则填#来占位;对于反序列化时,每次遇到#返回空 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct TreeNode 阅读全文
posted @ 2017-07-05 20:02 qqky 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路:可以直到,每次打印一个结点,然后打印下一行时总是先打印其左子结点,然后打印其右子结点。先入先出,使用队列处理。使用toBeprint记录当前行打印的个数,每存入一个-1;nextlevel记录下一行打印结点个数;一 阅读全文
posted @ 2017-07-04 10:24 qqky 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解题思路:通过分析,使用栈进行存储结点 打印1时,将结点2 3 放入栈中,打印3时,将3的左右孩子67分别放入栈中想放入7 再放6. 通过举例分 阅读全文
posted @ 2017-07-04 10:23 qqky 阅读(143) 评论(0) 推荐(0) 编辑