제목 : 바로 인쇄 왼쪽에서 레이어 노드와 이진 트리의 각 노드 중 인쇄에서 아래로.
A : 보조 큐, 팀에 루트 노드를 만들고, 벡터의 출력에 추가
루프 : 빈 팀을
이진 트리 노드는 팀의 왼쪽 노드를 떠난 경우
이진 트리 노드가 오른쪽 노드에 적합한 팀이됩니다
헤드 요소 팀
/ * 구조체의 TreeNode { INT 브로; 구조체의 TreeNode *이 왼쪽; 구조체의 TreeNode * 권리; TreeNode를 (INT의 X) : 발 (X), (NULL), 오른쪽 (NULL) 왼쪽 { } } * / 클래스 솔루션 { 공개 : 벡터 <INT> PrintFromTopToBottom (TreeNode를의 * 루트) { 벡터 <INT> RET; ret.clear (); (루트 == nullptr)의 경우 { 반환 RET; } 큐 <TreeNode를 *> m_deque; ; m_deque.push (루트) //根节点入队 (! m_deque.empty ()) 동안 { ret.push_back (m_deque.front () -> 발); // RET存入队头元素 경우 (m_deque.front (!) -> 왼쪽 = nullptr) { m_deque.push (m_deque.front () -> 좌측 ) // 대기열 좌측 노드 } IF - (m_deque.front ()> = 오른쪽 nullptr!) { m_deque.push (m_deque.front () -> 오른쪽); 대기열 // 오른쪽 노드 } m_deque.pop (); // 헤드 소자 디큐 } 리턴 RET; } };
관련 항목 :
이진 트리를 수정 :
무한 완전 이진 트리가 있습니다, 루트 노드 번호는 1입니다. 좌측 아들 노드의 수 i가 2 I 번호 오른쪽 아들 * 2 * I + 1 (루트 노드의 좌측 아들과 같은 1, 2, 3, 왼쪽 아들의 오른쪽 아들 네이고, 오른쪽 아들 5) . 이 나무에서 게임을 만들기 위해 쇠고기를 선택, 그는 거기에서 두 개의 숫자 N과 K의 NIU있어, 그 숫자 0 NIU 루트에서 시작하여 아래로 갈 수 있도록 노력하겠습니다했다 때마다 당신은 노드에 도달하기 위해, 이동 가장자리를 선택 이 노드의 노드 번호의 수 플러스 또는 마이너스. 때 k 번째 노드 이동도는 N 정확하게 일치 얻어.
물론 많은 그런 경로가 있습니다. 어려움을 높이기 위해 니우는 숫자가 쇠고기와 그녀가 노드를 통과 최소한의 경로를 알 수 있도록 결정했다.
니우는 매우 똑똑하고, 모든 해답 주어진 문제가있을 수 있어야합니다.
당신은 쇠고기 도와 드릴까요? https://www.nowcoder.com/practice/39953c879b79412b85fbca2ffdeb0a4c