代碼隨想錄打卡Day12:

Leetcode 226

題目鏈接:翻轉(zhuǎn)二叉樹
就是遍歷每一個節(jié)點,交換每一個節(jié)點的左右節(jié)點就可以翩瓜。只需要注意不可以使用中序遍歷

    public TreeNode invertTree(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        if(root != null) queue.offer(root);
        while(!queue.isEmpty()){
            TreeNode cur = queue.poll();
            if(cur!=null) {
                TreeNode temp = cur.left;
                cur.left = cur.right;
                cur.right = temp;
                queue.offer(cur.left);
                queue.offer(cur.right);
            }
        }
        return root;
    }

Leetcode 101

題目鏈接:對稱二叉樹

一些思維定式需要克服跨扮,如果遞歸之傳入一個cur節(jié)點序无,那么遞歸cur節(jié)點的左右是肯定無法做到同時在一個函數(shù)的棧中遞歸到最左葉子節(jié)點和最右葉子節(jié)點的;但是傳入兩個節(jié)點left和right衡创,分別遞歸left的left節(jié)點帝嗡,right的right節(jié)點就可以做到

初步的思路就是用數(shù)組保存中序遍歷的結(jié)果,然后檢查這個數(shù)組是不是回文璃氢,但是這種思路無法過全部的測試
例如如下樣例:


不能通過的測試

按照初步思路結(jié)果為true哟玷,但是正確答案應(yīng)該為false
正確思路還是要通過結(jié)構(gòu)來判斷

//遞歸方法
    public boolean Compare(TreeNode left, TreeNode right){
        if(left==null&&right==null) return true;
        else if(left==null&&right!=null) return false;
        else if(left!=null&&right==null) return false;
        else if(left.val!=right.val) return false;

        return Compare(left.left, right.right)&&Compare(left.right, right.left);
    }
    public boolean isSymmetric(TreeNode root) {
        if(root==null) return true;
        else return Compare(root.left, root.right); 
    }

// 非遞歸方法如下
    public boolean isSymmetric(TreeNode root) {
        if(root==null) return true;
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root.left);
        queue.offer(root.right);
        while(!queue.isEmpty()){
            TreeNode left = queue.poll();
            TreeNode right = queue.poll();

            if(left==null&&right==null) continue;
            if(left==null||right==null||left.val!=right.val) return false;

            queue.offer(left.left);
            queue.offer(right.right);
            queue.offer(left.right);
            queue.offer(right.left);
        }
        return true;
    }

Leetcode 104

題目鏈接:二叉樹的最大深度

    public int maxDepth(TreeNode root) {
        if(root==null) return 0;
        return Math.max(maxDepth(root.left), maxDepth(root.right))+1;
    }

Leetcode 111

題目鏈接:二叉樹的最小深度
注意題干中的葉子節(jié)點,比最大深度需要更多的判斷條件一也!

    public int minDepth(TreeNode root) {
        if(root==null) return 0;
        int left = minDepth(root.left);
        int right = minDepth(root.right);
        // 判斷是否為葉子節(jié)點
        // 當(dāng)一個左子樹為空碗降,右不為空,這時并不是最低點
        if (root.left == null && root.right != null) { 
            return 1 + right;
        }   
        // 當(dāng)一個右子樹為空塘秦,左不為空讼渊,這時并不是最低點
        if (root.left != null && root.right == null) { 
            return 1 + left;
        }
        int result = 1 + Math.min(left, right);
        return result;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市尊剔,隨后出現(xiàn)的幾起案子爪幻,更是在濱河造成了極大的恐慌,老刑警劉巖须误,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挨稿,死亡現(xiàn)場離奇詭異,居然都是意外死亡京痢,警方通過查閱死者的電腦和手機奶甘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祭椰,“玉大人臭家,你說我怎么就攤上這事》接伲” “怎么了钉赁?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長携茂。 經(jīng)常有香客問我你踩,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任带膜,我火速辦了婚禮吩谦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘膝藕。我一直安慰自己逮京,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布束莫。 她就那樣靜靜地躺著懒棉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪览绿。 梳的紋絲不亂的頭發(fā)上策严,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音饿敲,去河邊找鬼妻导。 笑死,一個胖子當(dāng)著我的面吹牛怀各,可吹牛的內(nèi)容都是我干的倔韭。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼瓢对,長吁一口氣:“原來是場噩夢啊……” “哼寿酌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起硕蛹,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤醇疼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后法焰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秧荆,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年埃仪,在試婚紗的時候發(fā)現(xiàn)自己被綠了乙濒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡卵蛉,死狀恐怖颁股,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情毙玻,我是刑警寧澤豌蟋,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布廊散,位于F島的核電站桑滩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜运准,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一幌氮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胁澳,春花似錦该互、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至胰丁,卻和暖如春随橘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锦庸。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工机蔗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甘萧。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓萝嘁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扬卷。 傳聞我的和親對象是個殘疾皇子牙言,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容