LeetCode
JohnLanbow
这个作者很懒,什么都没留下…
展开
-
LeetCode:将有序数组转为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / /-10...原创 2020-04-26 17:35:39 · 87 阅读 · 0 评论 -
LeetCode:107. 二叉树的层次遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]vector<vector<...原创 2020-04-26 17:07:44 · 77 阅读 · 0 评论 -
LeetCode:922. Sort Array By Parity II
注意到,这里给定数组的大小必为偶数,因此,要实现题目要求的奇数下标对应奇数,偶数下标对应偶数,我们可以考虑遍历一遍数组中的偶数下标,查看是否为偶数,若不是,则将其与奇数下标下对应的非奇数进行置换位置,同时记录下奇数下标的位置,以便在下一次遍历中直接从该点开始遍历。需要知道的是,当偶数下标对应的数字为偶数时,数组中奇数下标对应的数字必为奇数。代码如下:vector<int> sort...原创 2019-06-02 14:18:16 · 149 阅读 · 0 评论 -
LeetCode:905. Sort Array By Parity
从后往前找,遇到偶数,从头开始寻找奇数,进行置换,直到i, j相遇,即可将所有的偶数放置在前面,奇数放置在后面。vector<int> sortArrayByParity(vector<int>& A) { int i = 0; int j = A.size()-1; while(1){ if(A[j] % 2 == 0){ ...原创 2019-06-02 14:23:57 · 109 阅读 · 1 评论