LeetCode 1145. 二叉树着色游戏(计算节点个数)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1145. 二叉树着色游戏(计算节点个数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
有兩位極客玩家參與了一場「二叉樹著色」的游戲。游戲中,給出二叉樹的根節點 root,樹上總共有 n 個節點,且 n 為奇數,其中每個節點上的值從 1 到 n 各不相同。
游戲從「一號」玩家開始(「一號」玩家為紅色,「二號」玩家為藍色),最開始時,
-
「一號」玩家從 [1, n] 中取一個值 x(1 <= x <= n);
-
「二號」玩家也從 [1, n] 中取一個值 y(1 <= y <= n)且 y != x。
-
「一號」玩家給值為 x 的節點染上紅色,而「二號」玩家給值為 y 的節點染上藍色。
之后兩位玩家輪流進行操作,每一回合,玩家選擇一個他之前涂好顏色的節點,將所選節點一個 未著色 的鄰節點(即左右子節點、或父節點)進行染色。
如果當前玩家無法找到這樣的節點來染色時,他的回合就會被跳過。
若兩個玩家都沒有可以染色的節點時,游戲結束。著色節點最多的那位玩家獲得勝利 ??。
現在,假設你是「二號」玩家,根據所給出的輸入,假如存在一個 y 值可以確保你贏得這場游戲,則返回 true;若無法獲勝,就請返回 false。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/binary-tree-coloring-game
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 計算節點個數
- 節點x相鄰的3側(左子,右子,父側)各有多少節點?
- 二號玩家只能選擇上面最多的一側進行涂色(鄰接著x涂的最多)
總結
以上是生活随笔為你收集整理的LeetCode 1145. 二叉树着色游戏(计算节点个数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1237. 找出给定方
- 下一篇: LeetCode 1073. 负二进制数