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

Related Articles

  1. Longest Substring Without Repeating Characters
  2. Algorithm Interview: Lowest Common Ancestor of 2 Nodes in Binary Tree
  3. Compare Version Numbers
  4. Daily Interview Problem: Sort Colors
  5. Making a Height Balanced Binary Search Tree
  6. Daily Interview Problem: Validate Binary Search Tree
  7. [Daily Problem] Remove Consecutive Nodes that Sum to 0
  8. First and Last Indices of an Element in a Sorted Array
  9. Algorithm Interview Question: Symmetric k-ary Tree
  10. New Vulnerabilities (CVE-2016-4581) have been detected in CentOS/RHEL/CloudLinux 7

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="index, follow">