當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
[LeetCode][JavaScript]Invert Binary Tree 反转二叉树
生活随笔
收集整理的這篇文章主要介紹了
[LeetCode][JavaScript]Invert Binary Tree 反转二叉树
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
反轉(zhuǎn)二叉樹
- 其實(shí)我從沒有想到前端面試會(huì)問到這個(gè)問題,題目來源于google的面試
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off. (我們90%的工程師都用你寫的軟件但是我們不能聘用你)
吊吊吊,著名homebrew的初創(chuàng)者Howell前往google面試ios開發(fā),結(jié)果還沒問到ios技術(shù)問題的時(shí)候就已經(jīng)掛了,而且死在反轉(zhuǎn)二叉樹,有那么點(diǎn)意思。果然title在我g廠面試還是渣渣,我g廠從不缺title
我這個(gè)代碼也是在網(wǎng)上看到的,直接抄過來的知乎
class Solution:# @param {TreeNode} root# @return {TreeNode}def invertTree(self, root):from Queue import Queueq = Queue()q.put(root)while not q.empty():node = q.get()if not node:continuenode.left, node.right = node.right, node.leftif node.left:q.put(node.left)if node.right:q.put(node.right)return root 復(fù)制代碼這個(gè)類寫的老夫懵逼了,老夫在git上看到一個(gè)簡(jiǎn)單一點(diǎn)的方法,順便也貼出來把
function binaryTree(node) {if(!node) returnlet left = binaryTree(node.left)let right = binaryTree(node.right)if(left) node.left = rightif(right) node.right = leftreturn node} 復(fù)制代碼突然想到可能很多同學(xué)對(duì)二叉樹沒什么概念,我就把這個(gè)類似的樹寫出來吧
let tree = {left: {left: {value: 1},right: {value: 2},value: 3},right: {left: {value: 6},right: {value: 7},value: 8},value: 10 } 復(fù)制代碼總結(jié)
以上是生活随笔為你收集整理的[LeetCode][JavaScript]Invert Binary Tree 反转二叉树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Laravel——Passport OA
- 下一篇: 用组策略提升网速