Day29
2017-12-07 本文已影响0人
wendy_要努力努力再努力
- 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
- 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