摘要:
题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9,20,15,7] 提示: 节点总数 ⇐ 1000 思路 典型的二叉树层次遍历问题,用一个Lin 阅读全文
摘要:
List一般包含两种存储结构:顺序存储ArrayList和链式存储LinkedList。 List与数组之间如何相互转行呢? 数组转List 1. 利用遍历数组每个元素,将元素一个个加入List 最通用的方法,适合任意基本元素类型和语言。 示例: List<Integer> list = new A 阅读全文
摘要:
算法题里面,涉及到按位运算,有2个经典位运算: x&(-x) : 保留二进制下最后出现1的位置的数字,其余位置置0; x&(x-1) : 清除二进制下最后出现1的位置的数字,其余位置保持不变; x可以将二进制数写作(A) 1 (B)的形式,其中A表示一系列01串,1表示从右向左出现的第一个数字1,B 阅读全文
摘要:
反射简介 能够分析类能力的程序成为反射(reflective)。 反射可以用来干什么? 反射经常用于构建库或工具,主要包含以下能力: 运行时分析类的能力; 运行时查看对象,如编写一个toString查看对象属性; 实现通用的数组操作代码; 利用Method对象,类似于C/C++函数指针; Class 阅读全文