摘要: 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的弹出序列,但4、3、5、1、2就不可能是该压栈序列的弹出序列 解题方案: 总结上述入栈、出栈的过 阅读全文
posted @ 2018-06-21 16:54 我们都是大好青年 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的弹出序列,但4、3、5、1、2就不可能是该压栈序列的弹出序列 解题方案: 总结上述入栈、出栈的过 阅读全文
posted @ 2018-06-21 16:31 我们都是大好青年 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目:二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出他的镜像。 树的镜像对很多人来说是一个新的概念,如下图所示: 解题步骤: 交换根节点的两个子结点之后,我们注意到值为10,6的结点的子结点仍然保持不变,因此我们还需要交换这两个结点的左右子结点。交换之后的结果分别如下图中的第三棵树和第四棵 阅读全文
posted @ 2018-06-21 16:02 我们都是大好青年 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目:合并两个排序的链表 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图中链表1和链表2,则合并之后的升序链表如链表3所示。 思路解析: 首先分析合并两个链表的过程。我们的分析从合并两个链表的头节点开始。链表1的头结点的值小于链表2的头结点的值,因此链 阅读全文
posted @ 2018-06-21 15:03 我们都是大好青年 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表,输出该链表中倒数第K个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始他们的值一次是1、2、3、4、5、6.这个链表的倒数第3个结点是值为4的结点。 解题思路:本题中所给的链表是单向链表,单向链表的结点只有从前往 阅读全文
posted @ 2018-06-21 11:53 我们都是大好青年 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,是的所有奇数位与数组的前半部分,所有偶数位与数组的后半部分。 解题思路: 一般思路:维护两个指针,第一个指针初始化时指向数组的第一个数字,它只向后移动;第二个指针初始化时指向数组的最后一个数字,它只向前移动,在两个指针相遇之前,第一个指针 阅读全文
posted @ 2018-06-21 10:39 我们都是大好青年 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 定义一个函数,在该函数中可以实现任意两个整数的加法。由于没有限定输入两个数的大小范围,我们也要把它当作大数问题来处理。 如果面试题是关于n位的整数并且没有限定n的取值范围,或者是输入任意大小的整数,那么这个题目很有可能是需要考虑大数问题的。字符串是一个简单、有效的表示大数的方法。 题目:给定单向链表 阅读全文
posted @ 2018-06-21 10:03 我们都是大好青年 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 链表的结构很简单,它由指针把若干个节点连接成链状结构。由于链表是一种哄抬的数据结构,其操作需要对指针进行操作。因为在船舰链表时,无须知道链表的长度。当插入一个节点时,我们只需要为新节点分配内存,然后调整指针的指向来确保新节点被链接到链表当中。内存分配不是在创建链表时一次性完成的,而是每添加一个节点分 阅读全文
posted @ 2018-06-21 09:23 我们都是大好青年 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目:写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下: 解题思路: 面试官期待的使用解法,我们可以把已经得到的数列中间项保存起来,如果下次需要计算的时候我们先查找一下,如果前面已经计算过就不用再重复计算了。 更简单的办法时从下往上计算,首先根据f(0)和f(1)算出f(2),再根 阅读全文
posted @ 2018-06-20 16:22 我们都是大好青年 阅读(1211) 评论(0) 推荐(0) 编辑
摘要: 栈的特点是后进先出,即最后别呀如栈的元素会第一个被弹出(pop)。 队列是另外一个很重要的数据结构。和栈不同的是,队列的特点是先进先出,即第一个进入队列的元素将会第一个出来。 题目:用两个栈是新啊一个队列。队列的声明那个如下,请实现它的两个函数apeendTail和deleteHead,分别完成在对 阅读全文
posted @ 2018-06-20 11:58 我们都是大好青年 阅读(175) 评论(0) 推荐(0) 编辑