이 글은 PHP에서 바이너리 트리를 위에서 아래로 인쇄하는 방법을 주로 소개하며, PHP 바이너리 트리 순회와 관련된 조작 기술이 필요한 친구들이 참고하면 도움이 될 것입니다.
Question
이진 트리의 각 노드를 위에서 아래로 인쇄하고, 같은 수준의 노드를 왼쪽에서 오른쪽으로 인쇄합니다.
해결 방법
트리의 각 레이어는 왼쪽에서 오른쪽으로 인쇄되므로 노드의 왼쪽 및 오른쪽 하위 트리를 저장해야 합니다. 선입선출이기 때문에 대기열을 사용합니다.
구현 코드
/*class TreeNode{ var $val; var $left = NULL; var $right = NULL; function __construct($val){ $this->val = $val; } }*/ function PrintFromTopToBottom($root) { $queueVal = array(); $queueNode = array(); if($root == NULL) return $queueVal; array_push($queueNode, $root); while(!empty($queueNode)){ $node = array_shift($queueNode); if($node->left != NULL) array_push($queueNode,$node->left); if($node->right != NULL) array_push($queueNode,$node->right); array_push($queueVal,$node->val); } return $queueVal; }
관련 권장 사항:
선순서, 순차 및 후순 순회 바이너리의 PHP 구현 트리 연산 예제
위 내용은 PHP는 위에서 아래로 이진 트리를 인쇄하는 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!