判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法
生活随笔
收集整理的這篇文章主要介紹了
判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 遞歸
class Solution:def VerifySquenceOfBST(self, sequence):# write code hereif len(sequence) <= 0 or sequence == None:return Falselength = len(sequence)root = sequence[-1]i, j = 0, 0# i 的范圍是[0, length - 1]for i in range(length):if sequence[i] > root:break# j的范圍是[i, length - 1]for j in range(i, length):if sequence[j] < root:return Falseleft = Trueif i > 0:left = self.VerifySquenceOfBST(sequence[:i])right = Trueif j < length - 1:right = self.VerifySquenceOfBST(sequence[i:-1])return left and right
python 非遞歸
class Solution1:def VerifySquenceOfBST(self, sequence):# write code hereif len(sequence) == 0:return Falselength = len(sequence) - 1i = 0while length != 0:while sequence[i] < sequence[length]:i += 1while sequence[i] > sequence[length]:i += 1if i < length:return Falselength -= 1i = 0return True
總結
以上是生活随笔為你收集整理的判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker学习(七)-----Dock
- 下一篇: Docker学习(八)-----Dock