def inordersearch(lroot, mroot): arr = [] if lroot: arr = arr + inordersearch(lroot.left, mroot) if lroot.val != None and Node.search( mroot, lroot.val) != None and Node.search(mroot, lroot.val) != mroot: arr.append(lroot.val) arr = arr + inordersearch(lroot.right, mroot) return arr
def getFreeHoursInCommon1(a, b): result = [[] for i in range(period)] leader = [Node.inorderarr(a[x], []) for x in range(period)] #without time in common #leader = [[12, 13, 13.5], [10, 13.5, 15], [13.5, 15], [13.5, 14], [11, 13.5], [13.5], [13.5]] #with time in common #print(leader) for i in range(len(leader)): for j in range(len(leader[i])): if Node.search(b[i], leader[i][j]) != None and Node.search( b[i], leader[i][j]) != b[i]: result[i].append(leader[i][j]) return result