Day29

2017-12-07  本文已影响0人  wendy_要努力努力再努力
  1. Reshape the Matrix
    思路:调用numpy库就能实现矩阵的变形,但是生成的结果要从“numpy.ndarray”多维数组转换为“list”列表类型,【列表、数组、矩阵】
import numpy as np
class Solution(object):
    def matrixReshape(self, nums, r, c):
        """
        :type nums: List[List[int]]
        :type r: int
        :type c: int
        :rtype: List[List[int]]
        """
        try:
            return np.reshape(nums, (r, c)).tolist()
        except:
            return nums
  1. Trim a Binary Search Tree
    思路:二叉搜索树规定了左子树的值一定要小于右子树。所以中序遍历BST得到的是递增的序列
class Solution(object):
    def trimBST(self, root, L, R):
        """
        :type root: TreeNode
        :type L: int
        :type R: int
        :rtype: TreeNode
        """
        if not root:
            return None
        if L > root.val:
            return self.trimBST(root.right,L,R)
        elif root.val > R:
            return self.trimBST(root.left,L,R)
        root.left = self.trimBST(root.left,L,R)
        root.right = self.trimBST(root.right,L,R)
        return root

复习一下先序(根左右)、中序(左根右)、后序(左右根)遍历二叉树


image.png

先序输出:
A B D G H E C K F I J
中序输出:
G D H B E A K C I J F
后序输出:
G H D E B K J I F C A

上一篇 下一篇

猜你喜欢

热点阅读