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 | 364 Views, 17198 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 | 364 Views, 17198 Search Bots | 142 Words Subscribe to Feed Burner

Related Articles

  1. Invert a Binary Tree
  2. Non-decreasing Array with Single Modification
  3. Daily Interview Problem: Minimum Removals for Valid Parenthesis
  4. Spreadsheet Column Title
  5. Daily Interview Problem: Reconstrunct Binary Tree from Preorder and Inorder Traversals
  6. Kaprekar
  7. Staying on a Chess Board
  8. Algorithm Interview: Lowest Common Ancestor of 2 Nodes in Binary Tree
  9. Patterns for breaking down questions you haven
  10. Skip the readings, focus on problems. And use all the hints!

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" />