To the Top
File:  root - text - article - 2019 - 12 - arithmetic-binary-tree.txt
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Category: Computing | 369 Views, 17697 Search Bots | 142 Words

Subscribe to Feed Burner | Browse | Archive
Hi, here's your problem today. This problem was recently asked by Apple:

You are given a binary tree representation of an arithmetic expression. In this tree, each leaf is an integer value,, and a non-leaf node is one of the four operations: '+', '-', '*', or '/'.

Write a function that takes this tree and evaluates the expression.

Example:


*
/ \
+ +
/ \ / \
3 2 4 5


This is a representation of the expression (3 + 2) * (4 + 5), and should return 45.

Here's a starting point:


class Node:
def __init__(self, val, left=None, right=None):
self.val = val
self.left = left
self.right = right

PLUS = "+"
MINUS = "-"
TIMES = "*"
DIVIDE = "/"

def evaluate(root):
# Fill this in.

tree = Node(TIMES)
tree.left = Node(PLUS)
tree.left.left = Node(3)
tree.left.right = Node(2)
tree.right = Node(PLUS)
tree.right.left = Node(4)
tree.right.right = Node(5)
print evaluate(tree)
# 45
Tags: 每日算法题, 算法, 数据结构, 面试题, Daily Interview Problem, Data Structures and Algorithms, Computer Programming, Python, | English | Home Page | Cateogry: Computing | 369 Views, 17697 Search Bots | 142 Words Subscribe to Feed Burner

Related Articles

  1. Algorithm Interview: Convert Roman Numerals to Decimal
  2. Algorithm Interview: Level Order Traversal of Binary Tree
  3. Autorun.inf Virus Protection
  4. Daily Interview Problem: Reconstrunct Binary Tree from Preorder and Inorder Traversals
  5. Non-decreasing Array with Single Modification
  6. [Daily Problem] Angles of a Clock
  7. Invert a Binary Tree
  8. Longest Substring Without Repeating Characters
  9. Binary Tree Level with Minimum Sum
  10. How to Play WAV music under DOS?

Comments (0)

    Be the first one to comment this page !


Page Edited: May 11 2024 14:36:49 | RSS Subscription
How to Cook a Perfect Steak? | <meta name="robots" content="noindex, follow" />