행사는 안전 [] [] 거꾸로 이진 트리 (탐색 순서) 인쇄 증명

제목 : 바로 인쇄 왼쪽에서 레이어 노드와 이진 트리의 각 노드 중 인쇄에서 아래로.

 

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

추천

출처www.cnblogs.com/xiexinbei0318/p/11432762.html