第88题:
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。来源:力扣(LeetCode)
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
1、因为nums1的长度足够存储nums1和nums2的所有元素,所以可以在nums1上面直接插入;
由于直接将nums2的元素插入nums1内有很多移动元素的步骤;
所以可以将nums1内的元素复制到新创建的nums1copy内,用nums1copy和nums2来作比较;
然后依次插入nums1数组内,得出最终的nums1结果。
2、上面的方法创建了一个新数组来接收nums1,为节省创建新数组的空间;
我们也可以从nums1的尾部来插入,因为nums1的长度足够,所以不用担心元素需要多次移动的问题;
最终也可以得出结果nums1.
第107题:
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)来源:力扣(LeetCode)
1、二叉树自底向上的层次遍历,其实和层次遍历一样;
其实就是将自上向底的层次遍历的每一层的元素求出来;
然后添加到list集合时每一次添加都添加在集合首位上,其他的层数集合向后移即可;
而求层次遍历的方法就用一个队列来辅助;
每次都记录队列内的元素个数size,每一次size就表明这一层有多少个元素;
这样就可以得出树层次遍历,然后再按某种顺序推入即可。