一个二叉树 ,比如这样,有3种运算符以及2种值
+  或者, 即 or
-  非, not
*  与, and如何做到
1. 通过转换去掉其中的 -, 让这个树里只剩下 * 和 + ,并去括号求的最终公式
下图左边是
(a+b)-(c+d) == 
(a or b) and !(c or d) == 
(a or b) and (!c and !d) ==
(a or b) and !c and !d == 
最终公式: a!c or b!c or a!d or b!d
     /a     /a
    +      +
   / \b   / \b
 - +
   \  /c    \ /!c
    +      *
      \d    \!d搞定后再加500分 谢谢。。

解决方案 »

  1.   

    .... 上面是2个图,发上来就合起来了,其实是     /a   
        +    
      /  \b   
    -
      \   /c
        +      
          \d
    需要求出最终结果
    a!c or b!c or a!d or b!d 
      

  2.   

    实在是看不懂你画的二叉数。
    3种运算符貌似明白了,2种值是什么?括号怎么表示?abcd和运算符都是用节点表示吗?
    另外,怎么我觉得最终结果应该是a!c!d+b!c!d?
      

  3.   

    额,我把最终结果算错了,的确应该等于  a!c!d+b!c!d 
    请忽略顶楼画的树,一贴到论坛就变样了 还不能改。请看4楼的树。。
    先前没说清。。再补充下。
    2种值是指  a,b,c,d 这些都只可能是 true或false已经晕了。。