摘要:
时间复杂度:O(n)// 判断是否为AVL树 public int isAVL(TreeNode node) { if (node == null) { return 0; } int left = isAVL(node.left); if (left == -1) { return -1; } int right ...
阅读全文
posted @ 2017-05-14 21:30
阳小徐
阅读(601)
推荐(0)
摘要:
1、前序遍历 递归: public class preOrder_recursion { public static void preOrder(BinaryTreeNode root) { if (root == null) { return; } System.out.print(root.va
阅读全文
posted @ 2017-04-18 09:59
阳小徐
阅读(179)
推荐(0)
摘要:
1、2Sum 题目: 方法一:两次迭代 public class TwoSum { public static int[] twoSum(int[] nums, int target) { int[] indices = {-1,-1}; for(int i=0; i<nums.length-1;
阅读全文
posted @ 2017-04-17 22:58
阳小徐
阅读(995)
推荐(0)
摘要:
java.lang.object,是Java中所有类(当然Object类除外)的终极父类,其中数组也继承了Object类,但是接口是不继承Object类的。 Object中方法如下(11个): 1、protected Object clone(); 作用:创建并返回此对象的一个副本。 注意: - 要
阅读全文
posted @ 2017-03-18 09:32
阳小徐
阅读(207)
推荐(0)
posted @ 2017-03-17 11:46
阳小徐
阅读(2)
推荐(0)
摘要:
单链表: 1、反转单链表 迭代: 方法1: public ListNode reverseList(ListNode head) { if (head == null) { return null; } ListNode preH = new ListNode(0); preH.next = hea
阅读全文
posted @ 2017-03-08 22:45
阳小徐
阅读(174)
推荐(0)
摘要:
1、判断n是否为2的幂? ①、任何整数乘以2,都相当于向左移动了一位,而2的0次幂为1,所以2的n次幂就是1向左移动n位。这样,2的幂的特征就是二进制表示只有最高位为1,其他位均为0。那么,我们只要判断一个数的二进制表示只有一个1,那么它就是2的幂。 ②、n为整数,则n & (n - 1)可以消除n
阅读全文
posted @ 2017-03-07 11:14
阳小徐
阅读(1894)
推荐(1)
摘要:
基本知识: & 位与操作 | 位或操作 ^ 按位异或操作 ~ 位非操作 计算机中数字有原码,反码,补码三种存储格式,通常都是补码形式; 一个正数的原码,反码和补码相同;一个负数,符号位为1,其余各位对原码按位取反,然后加1; 技巧总结: 1、n & (n - 1)可以去掉n位表示中的最后一个1,利用
阅读全文
posted @ 2017-03-06 23:29
阳小徐
阅读(129)
推荐(0)
摘要:
1、位图是一种非常常用的结构,在数据压缩方面有广泛应用; 2、如下图,假设是一个整型数据在内存中占用的的32位,从低位到高位,每一位分别对应十进制数字0~31,每bit上值为0或1,表示对应十进制数字是够存在; 3、 优点:效率高,占用内存少; 缺点:无法对存在重复的数据进行排序或者查找,但是也可以
阅读全文
posted @ 2017-03-06 22:59
阳小徐
阅读(193)
推荐(0)
摘要:
参考下面链接: http://zhangshixi.iteye.com/blog/673789
阅读全文
posted @ 2017-03-03 11:10
阳小徐
阅读(134)
推荐(0)