트리---지그재그로 두 갈래 나무 인쇄

2992 단어
함수는 지그재그로 두 갈래 트리를 인쇄합니다. 즉, 첫 번째 줄은 왼쪽에서 오른쪽으로, 두 번째 줄은 오른쪽에서 왼쪽으로, 세 번째 줄은 왼쪽에서 오른쪽으로, 다른 줄은 이와 같이 인쇄합니다.
분석:https://blog.csdn.net/qq_40608516/article/details/91128825
/* function TreeNode(x) {

    this.val = x;

    this.left = null;

    this.right = null;

} */

function Print(pRoot)

{

    // write code here

    const lists=[]

    if(pRoot===null){

        return lists

    }

    const stack1=[],stack2=[]

    let i=1

    stack2.push(pRoot)

    while(stack1.length!==0||stack2.length!==0){

        const list=[]

        // 

        if((i % 2) === 1){

            while(stack2.length!==0){

                const temp=stack2[stack2.length-1]

                stack2.pop()

                list.push(temp.val)

                if(temp.left!==null)stack1.push(temp.left)

                if(temp.right!==null)stack1.push(temp.right)

            }

        }else{

             while(stack1.length!=0){

                const temp=stack1[stack1.length-1]

                stack1.pop()

                list.push(temp.val)

                if(temp.right!==null)stack2.push(temp.right)

                if(temp.left!==null)stack2.push(temp.left)

            }

        }

        i++

        lists.push(list)

    }

    return lists

}

좋은 웹페이지 즐겨찾기