上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 第一问: List是接口,ArrayList实现了List接口。 第二问: ArrayList实现了List接口,HashSet实现了Set接口,List和Set都是继承Collection接口。 ArrayList底层是动态数组,HashSet底层是哈希表。 ArrayList存放的是对象的引用, 阅读全文
posted @ 2019-03-05 19:30 FigSprite 阅读(1257) 评论(0) 推荐(0)
摘要: 题目: 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 思路: 依然是递归思路从根节点出发往左右子树进行判断。 阅读全文
posted @ 2019-03-05 19:05 FigSprite 阅读(185) 评论(0) 推荐(0)
摘要: 题目; 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路: 以最后一个节点为根,从头往后找到第一个大于根节点的,接下来判断这个位置到根节点前是否都是大于根节点的数,然后在把这两个部分用上述方式处理。 = 阅读全文
posted @ 2019-03-05 18:39 FigSprite 阅读(614) 评论(0) 推荐(0)
摘要: 题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 阅读全文
posted @ 2019-03-05 16:44 FigSprite 阅读(230) 评论(0) 推荐(0)
摘要: 题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度 阅读全文
posted @ 2019-03-05 16:17 FigSprite 阅读(166) 评论(0) 推荐(0)
摘要: 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 书中的思路: 按照这个思路我们很容易写出以下代码: 设置一个辅助栈,存放当前最小的值。 阅读全文
posted @ 2019-03-04 18:25 FigSprite 阅读(247) 评论(0) 推荐(0)
摘要: 题目: 操作给定的二叉树,将其变换为源二叉树的镜像。 思路: 这里有个细节,我们发现,6节点的子节点在操作之后并没有发生变化,所以等会我们在交换的时候,交换的不是节点的数值,而是整个节点。 另外我们进行操作的是非叶节点,注意到这两条,代码基本就成型了。 阅读全文
posted @ 2019-03-04 15:27 FigSprite 阅读(222) 评论(0) 推荐(0)
摘要: 题目: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 判断当前两个根结点是否相等,如果相等,判断左右子树是否相等,如果不依次判断左右子树是否满足上面所述条件。 为了便于表示,这里采用递归的方式: 阅读全文
posted @ 2019-03-04 15:08 FigSprite 阅读(163) 评论(0) 推荐(0)
摘要: 来两道关于链表链接的题目: 题目一: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 本题要考虑到其中一条链表是空或者两个都是空的情况。 在每个链表安上一个指针,对比一次,提取一个结点,接到目标链表上。 接下来给出非递归方式 阅读全文
posted @ 2019-03-03 19:49 FigSprite 阅读(206) 评论(0) 推荐(0)
摘要: 题目: 输入一个链表,输出该链表中倒数第k个结点。 思路: 我们一先想到的应该是循环两次链表,第一次获得它的长度,然后用长度-k,得出目标节点在链表的第几位,再循环一次。 如果要求只用一次循环的话,我们就要借助两个指针,第一个指针从立案表的头开始便利向前走k-1步,第二个指针不动;从k步开始,第二个 阅读全文
posted @ 2019-03-03 17:26 FigSprite 阅读(181) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 下一页