| <?php //树节点类 // 1、var在类外用报错:如果不是在类中,用var定义变量是错的。 // 2、类属性必须带限定词:php中类属性必须定义为公有,受保护,私有之一。所以如果没有那三个修饰符,必须用var,var是public的别名。 class TreeNode{ var $val; var $left = NULL; var $right = NULL; function __construct($val){ $this->val = $val; } //构造二叉树 function createBinaryTree(TreeNode $lchird = NULL, TreeNode $rchird = NULL){ if(!is_null($lchird)) $this->left = $lchird; if(!is_null($rchird)) $this->right = $rchird; } } $d = new TreeNode('D'); $e = new TreeNode('E'); $f = new TreeNode('F'); $c = new TreeNode('C'); $b = new TreeNode('B'); $a = new TreeNode('A'); $a->createBinaryTree($b,$c); $b->createBinaryTree($d,$e); $c->createBinaryTree(NULL,$f); // var_dump($a); // 不方面查看结构 // var_dump((array)$a); // 不方便查看结构 echo (json_encode($a)); // {"val":"A","left":{"val":"B","left":{"val":"D","left":null,"right":null},"right":{"val":"E","left":null,"right":null}},"right":{"val":"C","left":null,"right":{"val":"F","left":null,"right":null}}} 输出:   |