美文网首页
Evaluation expression tree

Evaluation expression tree

作者: 尚无花名 | 来源:发表于2019-05-19 07:33 被阅读0次

    Given the root node, calculate the equation’s value
    e.g + +
    / \ /
    2 3 - +
    2+3=5 / \ /
    1 3 2 4 (1-3) + (2+4) = 4

    假设是只有叶子节点是数字
    下面是 TreeNode的定义。只有正负运算符。

    class TreeNode {
      int val;
      char op;
      boolean isOp;
      // @toDo 
      // constructor
    }
    

    做法是recursion。比较straightforward.

    class Solution {
      public int evaluateExpressionTree(TreeNode root) {
        if (root == null) return 0;
        if (!root.isOp) return root.val;
        int left = evaluateExpressionTree(root.left);
        int right = evaluateExpressTree(root.right);
        return root.op == '+' ? left + right : left - right;
      }
    }
    

    相关文章

      网友评论

          本文标题:Evaluation expression tree

          本文链接:https://www.haomeiwen.com/subject/kvkfzqtx.html