代碼隨想錄打卡Day14

LeetCode 513

題目鏈接:找數(shù)左下角的值
很容易直接想到層序遍歷的方法捧毛,這里嘗試再用遞歸實現(xiàn)

class Solution {
    int Deep=-1;
    int result;
    public int findBottomLeftValue(TreeNode root) {
        find(root, 0);
        return result;
    }
    public void find(TreeNode cur, int depth){
        if(cur.left==null&&cur.right==null){
            if(depth>Deep){
                Deep = depth;
                result = cur.val;
            }
        }
        if(cur.left!=null) find(cur.left, depth+1);
        if(cur.right!=null) find(cur.right, depth+1);
    }
}

LeetCode 112

題目鏈接:路徑總和
注意的要點就是遞歸到底要不要返回值辉词,在只需要找到一條路徑的情況下恬叹,找到就要立馬返回屹堰,不用再搜索庄蹋,所以是肯定需要返回值的

class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if(root==null) return false;
        
        return pathSum(root, 0, targetSum);
    }
    public boolean pathSum(TreeNode cur, int curSum, int targetSum){
        if(cur==null) return false; //會發(fā)生這種情況就是因為這條路徑到最后也沒有滿足情況
        if(cur.left==null&&cur.right==null){
            if(curSum+cur.val==targetSum) return true;
            else return false;
        }
        return pathSum(cur.right, curSum+cur.val, targetSum)||pathSum(cur.left, curSum+cur.val, targetSum);
    }
}

LeetCode 113

題目鏈接:路徑總和2
這里因為是要搜索全部路徑嘹叫,且不用處理遞歸返回值秽澳,所以不需要返回值

class Solution {
    public List<List<Integer>> pathSum(TreeNode root, int targetSum) {
        List<List<Integer>> result = new LinkedList<>();
        if(root==null) return result;
        List<Integer> path = new LinkedList<>();
        findPath(root, 0, targetSum, path, result);
        return result;
    }

    public void findPath(TreeNode cur, int curSum, int targetSum, List<Integer> curPath, List<List<Integer>> result){
        if(cur.left==null&&cur.right==null&&curSum+cur.val==targetSum){
            curPath.add(cur.val);
            result.add(new LinkedList<>(curPath));
            curPath.removeLast();
            return;
        }
        int sum = curSum+cur.val;
        curPath.add(cur.val);
        if(cur.left!=null){
            findPath(cur.left, sum, targetSum, curPath, result);
        } 
        if(cur.right!=null){
            findPath(cur.right, sum, targetSum, curPath, result);
        } 
        curPath.removeLast();
    }
}

LeetCode 106

題目鏈接:從中序與后序遍歷序列構(gòu)造二叉樹
熟悉構(gòu)造邏輯

class Solution {
    public TreeNode buildTree(int[] inorder, int[] postorder) {
        if(inorder.length==0) return null;
        if(inorder.length==1){
            return new TreeNode(inorder[0]);
        }

        int root = postorder[postorder.length-1];
        int index = 0;
        while(index < inorder.length){
            if(inorder[index]==root) break;
            index++;
        }
        TreeNode subRoot = new TreeNode(root,
                                        buildTree(Arrays.copyOfRange(inorder, 0, index), Arrays.copyOfRange(postorder, 0, index)), 
                                        buildTree(Arrays.copyOfRange(inorder, index + 1, inorder.length), Arrays.copyOfRange(postorder, index, inorder.length-1)));
        return subRoot;
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市漆羔,隨后出現(xiàn)的幾起案子梧奢,更是在濱河造成了極大的恐慌,老刑警劉巖演痒,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亲轨,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸟顺,警方通過查閱死者的電腦和手機惦蚊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讯嫂,“玉大人蹦锋,你說我怎么就攤上這事∨费浚” “怎么了莉掂?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長千扔。 經(jīng)常有香客問我憎妙,道長,這世上最難降的妖魔是什么曲楚? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任厘唾,我火速辦了婚禮,結(jié)果婚禮上龙誊,老公的妹妹穿的比我還像新娘阅嘶。我一直安慰自己,他們只是感情好载迄,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布讯柔。 她就那樣靜靜地躺著,像睡著了一般护昧。 火紅的嫁衣襯著肌膚如雪魂迄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天惋耙,我揣著相機與錄音捣炬,去河邊找鬼熊昌。 笑死,一個胖子當著我的面吹牛湿酸,可吹牛的內(nèi)容都是我干的婿屹。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼推溃,長吁一口氣:“原來是場噩夢啊……” “哼昂利!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铁坎,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蜂奸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后硬萍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扩所,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年朴乖,在試婚紗的時候發(fā)現(xiàn)自己被綠了祖屏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡买羞,死狀恐怖袁勺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哩都,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布婉徘,位于F島的核電站漠嵌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盖呼。R本人自食惡果不足惜儒鹿,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望几晤。 院中可真熱鬧约炎,春花似錦、人聲如沸蟹瘾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽憾朴。三九已至狸捕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間众雷,已是汗流浹背灸拍。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工做祝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸡岗。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓混槐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親轩性。 傳聞我的和親對象是個殘疾皇子声登,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

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