自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jason__Liang的博客

本人电子系,只为一学生。心喜计算机,小编以怡情。

  • 博客(11)
  • 收藏
  • 关注

原创 LintCode 135-数字组合 回溯法

本人电子系,只为一学生。心喜计算机,小编以怡情。给出一组候选数字(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。 例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为: [7],[2,2,3] 注意事项 所有的数字(包括目标数字)均为正整数。 元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤

2017-01-31 19:23:15 697

原创 LintCode 152-组合 回溯法

本人电子系,只为一学生。心喜计算机,小编以怡情。组合组给出两个整数n和k,返回从1……n中选出的k个数的组合。 样例 例如 n = 4 且 k = 2返回的解为:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]关键词:回溯法,非递归算法代码如下static public List<ArrayList<Integer>> combine(int n, int k) {

2017-01-30 19:50:46 418

原创 LintCode 87-删除二叉查找树的节点

本人电子系,只为一学生。心喜计算机,小编以怡情。给定一棵具有不同节点值的二叉查找树,删除树中与给定值相同的节点。如果树中没有相同值的节点,就不做任何处理。你应该保证处理之后的树仍是二叉查找树。 1、叶子节点 2、删除只有一个子树的节点 3、删除有两个孩子的节点 方法:层次遍历非递归做 感悟:这道题并不难,但是却十分的考验细节的把握 技巧:可以加个伪根节点,道理和链表

2017-01-06 23:15:17 327

原创 LintCode 7-二叉树的序列化和反序列化

本人电子系,只为一学生。心喜计算机,小编以怡情。设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。您在真实的面试中是否遇到过这个题? Yes 样例 给出一个测试数据样例, 二叉树{3,9,20,

2017-01-06 15:12:25 1228

原创 LintCode 11-二叉查找树中搜索区间

本人电子系,只为一学生。心喜计算机,小编以怡情。给定两个值 k1 和 k2(k1 < k2)和一个二叉查找树的根节点。找到树中所有值在 k1 到 k2 范围内的节点。即打印所有x (k1 <= x <= k2) 其中 x 是二叉查找树的中的节点值。返回所有升序的节点值。 思路:二叉树先序遍历非递归便可,十分简单 public ArrayList<Integer> searchRang

2017-01-05 19:41:50 538

原创 LintCode 69-二叉树的层次遍历

本人电子系,只为一学生。心喜计算机,小编以怡情。给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 返回他的分层遍历结果:[ [3], [9,20], [15,7] ] 思路:用两个队列来实现,不过我这里用的ArrayList来模拟队列public Array

2017-01-05 19:32:59 521

原创 LintCode 73- 前序遍历和中序遍历树构造二叉树

本人电子系,只为一学生。心喜计算机,小编以怡情。根据前序遍历和中序遍历树构造二叉树. 思路:递归static public TreeNode buildTree(int[] preorder, int[] inorder) { // write your code here if(preorder.length==0||inorder.length==0) return nul

2017-01-05 08:46:12 320

原创 LintCode 85-在二叉查找树中插入节点

本人电子系,只为一学生。心喜计算机,小编以怡情。给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。 思路:从最顶层一次次比较,最后落在想要插入的节点上。 就像小时候玩的落球,从上面不断的碰撞,最后落在一个出口。 注意:这道题值相同时默认落在右侧。public TreeNode insertNode(TreeNode root, TreeNod

2017-01-04 18:12:30 760

原创 LintCode 93-平衡二叉树

本人电子系,只为一学生。心喜计算机,小编以怡情。平衡二叉树给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 思路: 1、写一个求树的高度的子程序 2、层次遍历,每一个点都判断一下左子树高度与右子树高度之差static public boolean isBalanced(TreeNode root)

2017-01-04 11:57:17 768

原创 LintCode 106-排序列表转换为二分查找树

本人电子系,只为一学生。心喜计算机,小编以怡情。给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树思路:很容易想到了要每次取中,也很容易的想到了要用递归来做。 注意:使用ArrayList的subList要用List来定义。 如:List temp=new ArrayList(); public TreeNode sortedListToBST(ListNode head

2017-01-03 19:46:06 447

原创 LintCode 98-链表排序

本人电子系,只为一学生。心喜计算机,小编以怡情。在 O(n log n) 时间复杂度和常数级的空间复杂度下给链表排序。样例 给出 1->3->2->null,给它排序变成 1->2->3->null.感悟:要求 O(n log n) 时间复杂度,然后我上网查了一下别的博主的博客的前言,发现只能用并归排序来做,我又查了一下并归排序,然后写出了之后的又臭又长的代码。不过用链表来做排序,那真是超级酸爽。

2017-01-02 16:04:41 447

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除