上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 25 下一页
摘要: 虽然只保留右节点,但是左节点也要向下遍历,因为可能到某一层,要用到左节点,所以要用一个数据结构记录本层有没有记录,如果记录过了就不用记录,向下遍历就行,没有记录就记录。递归的时候要同时记录层数 先dfs右节点,再左节点 阅读全文
posted @ 2018-01-25 15:08 stAr_1 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 这个题,我称作:找兄弟,next就是兄弟 要弄清楚家族里辈分关系 Given a binary tree Populate each next pointer to point to its next right node. If there is no next right node, the n 阅读全文
posted @ 2018-01-25 08:46 stAr_1 阅读(89) 评论(0) 推荐(0) 编辑
摘要: b.compareTo(a) 这个函数是比较两个值得大小,如果b比a大,那么返回1 如果小,那么返回-1,相等返回0 如果比较的是字符串,那么比较字典编纂顺序,b靠前返回-1,靠后返回1 这个题的核心虽然是hashtable,但是这个方法还是很重要的,因为自己实现比较字符串很麻烦 阅读全文
posted @ 2018-01-24 20:11 stAr_1 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 哈希表存id和员工数据结构 递归获取信息 阅读全文
posted @ 2018-01-24 18:49 stAr_1 阅读(137) 评论(0) 推荐(0) 编辑
摘要: /* 先序遍历构建链表,重新构建树 */ LinkedList list = new LinkedList(); public void flatten(TreeNode root) { preOrder(root); TreeNode res = root; list.poll(); while ... 阅读全文
posted @ 2018-01-24 12:22 stAr_1 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 二叉树的各种遍历方式都是可以建立二叉树的,例如中序遍历,就是在第一步建立左子树,中间第二步建立新的节点,第三步构建右子树 此题利用二叉搜索树的中序遍历是递增序列的特点,而链表正好就是递增序列,从左子树开始递归利用链表的数据 控制平衡是用的递归层数,用left和right来控制 阅读全文
posted @ 2018-01-24 10:42 stAr_1 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 构建二叉搜索树 阅读全文
posted @ 2018-01-24 09:48 stAr_1 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 这个题的排序是用的PriorityQueue实现自动排列,优先队列用的是堆排序,堆排序请看:http://www.cnblogs.com/stAr-1/p/7569706.html 自定义了优先队列的排序方法,lambda表达式该复习下了... 阅读全文
posted @ 2018-01-23 20:28 stAr_1 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 相对于102题,稍微改变下方法就行 迭代方法: 在102题的基础上,加上一个变量来判断是不是需要反转 反转的话,当前list在for循环结束后用collection的反转方法就可以实现反转 递归方法: 由于有层数,所以用层数%2判断是不是需要反转 反转的话就元素都添加到最前边,一层添加完后就是反的 阅读全文
posted @ 2018-01-23 10:31 stAr_1 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 用stack实现一个递增序列还是很常用的,记住stack一般存数组元素的下标 阅读全文
posted @ 2018-01-22 19:14 stAr_1 阅读(214) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 25 下一页