摘要: 题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 三步反转法 阅读全文
posted @ 2016-05-23 16:48 genidong 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1) 阅读全文
posted @ 2016-05-10 21:18 genidong 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 二叉树先序遍历: 递归实现: 非递归实现: 二叉树中序遍历: 递归实现: 遍历左子树输出结点值,再输出中间值,最后遍历右子树输出节点值 非递归实现: 下面是另一种写法: 二叉树后序遍历: 递归实现: 非递归实现: 第二种思路:要保证根结点在左孩子和右孩子访问之后才能访问,因此对于任一结点P,先将其入 阅读全文
posted @ 2016-05-10 21:10 genidong 阅读(295) 评论(0) 推荐(0) 编辑