一次過 Lintcode 1360 對稱樹

2021-08-21 10:46:49 字數 940 閱讀 4622

給定二叉樹,返回它是否是自身的映象(即這棵二叉樹是否對稱)。

樣例1

輸入: 

輸出: true

解釋: 1

/ \2 2

/ \ / \

3 4 4 3

這棵二叉樹是對稱的

樣例2

輸入: 

輸出: false

解釋: 1

/ \2 2

\ \

3 3

很顯然這棵二叉樹並不對稱

用遞迴和迭代的方法來解決這個問題(2種解法)

遞迴。判斷是否對稱,可以先將其中一子樹翻轉(類似於lintcode 175. 翻轉二叉樹),然後看兩子樹是否相等(類似於lintcode 469. same tree)

/**

* definition of treenode:

* public class treenode

* }*/public class solution

private void reversetree(treenode root)

private boolean issame(treenode root1, treenode root2)

}

迴圈,使用輔助資料結構--佇列。類似於廣度優先遍歷。

/**

* definition of treenode:

* public class treenode

* }*/public class solution

return queue1.isempty() && queue2.isempty();

}}

一次過 Lintcode 488 快樂數

寫乙個演算法來判斷乙個數是不是 快樂數 乙個數是不是快樂是這麼定義的 對於乙個正整數,每一次將該數替換為他每個位置上的數字的平方和,然後重複這個過程直到這個數變為1,或是無限迴圈但始終變不到1。如果可以變為1,那麼這個數就是快樂數。19 就是乙個快樂數。1 2 9 2 82 8 2 2 2 68 6...

一次過 Lintcode 496 玩具工廠

工廠模式是一種常見的設計模式。請實現乙個玩具工廠toyfactory用來產生不同的玩具類。可以假設只有貓和狗兩種玩具。toyfactory tf toyfactory toy toy tf.gettoy dog toy.talk wow toy tf.gettoy cat toy.talk meow...

一次過 Lintcode 956 資料分割

給出乙個字串str,你需要按順序提取出該字串的符號和單詞。樣例 1 輸入 str hi i am bye 輸出 hi i am bye 解釋 將符號和單詞分割。樣例 2 輸入 str ok yes 輸出 ok yes 解釋 將符號和單詞分割。樣例 3 輸入 str s 輸出 s 解釋 將符號和單詞分...