Swift - LeetCode - 二叉樹(shù)的層次遍歷

題目

二叉樹(shù)的層次遍歷

給定一個(gè)二叉樹(shù),返回其按層次遍歷的節(jié)點(diǎn)值。 (即逐層地,從左到右訪問(wèn)所有節(jié)點(diǎn))。

示例:


給定二叉樹(shù): [3,9,20,null,null,15,7],

3

  / \

  9  20

    /  \

  15  7

返回其層次遍歷結(jié)果:

[

  [3],

  [9,20],

  [15,7]

]

代碼:

/**

* Definition for a binary tree node.

* public class TreeNode {

*    public var val: Int

*    public var left: TreeNode?

*    public var right: TreeNode?

*    public init(_ val: Int) {

*        self.val = val

*        self.left = nil

*        self.right = nil

*    }

* }

*/

class Solution {

    func levelOrder(_ root: TreeNode?) -> [[Int]] {

        var intList:[[Int]] = [[Int]]()

        var nodeList:[TreeNode] = [TreeNode]()

        guard let root = root else {

            return intList

        }

        nodeList.append(root)

        while nodeList.isEmpty == false {

            var count = nodeList.count

            var temp = [Int]()

            while count != 0 {

                let node = nodeList.removeFirst()

                temp.append(node.val)

                if node.left != nil {
                    nodeList.append(node.left!)
                }

                if node.right != nil {
                    nodeList.append(node.right!)
                }
                count = count - 1
            }
            intList.append(temp)
        }
              return intList
    }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容