【剑指offer】题目汇总
剑指offer的题目汇总
SihgYu
Miracles sometimes occur, but one has to work terribly for them.
展开
-
【剑指offer】重建二叉树
题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路: #前序序列:1 2 3 4 5 6 7 #中序序列:3 2 4 1 6 5 7 #此算法过程: #pre : 1 2 3 4 5 6 7 ...原创 2019-08-01 14:39:05 · 117 阅读 · 0 评论 -
【剑指offer】用两个栈实现队列
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路: 整体思路是元素先依次进入栈1,当栈2是空的时候就把栈1中的元素依次push到栈2中,这样在取栈2的元素就相当于一个先入先出的队列,栈2不为空的时候直接在栈2中取,如果取完了这时栈1中还有元素就继续push到栈2中,如此反复。。。 AC代码: import java.util.S...原创 2019-07-30 10:41:31 · 123 阅读 · 0 评论 -
【剑指offer】从尾到头打印链表
题目描述: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 解题思路: 两种思路,第一个是通过栈的特点,先入后出,将链表中的数据插入到栈中,出栈之后即为逆序,第二个思路是通过递归,其实也是借助于栈的实现。 AC代码: /** * public class ListNode { * int val; * ListNode next = ...原创 2019-07-30 10:12:40 · 110 阅读 · 0 评论 -
【剑指offer】替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路:在不考虑java自带的replace函数的情况下,分两种情况,从前向后和从后向前,由于一个空格替换成三个字符,所以应该考虑到越界的问题,从前向后替换需要每替换一次进行一次扩容,从后向前则只需要先进行一次扩容,再进行替换...原创 2019-07-24 11:57:45 · 118 阅读 · 0 评论