Day 30

第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就表明这一层有多少个元素;

  这样就可以得出树层次遍历,然后再按某种顺序推入即可。

  

 

 



posted @ 2020-07-25 23:47  Liang-Yi  阅读(91)  评论(0编辑  收藏  举报