天天看點

LeetCode刷題101-簡單-對稱二叉樹☀️ 前言 ☀️🙀 作者簡介 🙀💗 一、題目描述 💗💁 二、題目解析 💁🏃 三、代碼 🏃🌔 結語 🌔

LeetCode刷題101-簡單-對稱二叉樹☀️ 前言 ☀️🙀 作者簡介 🙀💗 一、題目描述 💗💁 二、題目解析 💁🏃 三、代碼 🏃🌔 結語 🌔

文章目錄

算法作為極其重要的一點,是大學生畢業找工作的核心競争力,是以為了不落後與人,開始刷力扣算法題!

大家好,我是布小禅,一個盡力讓無情的代碼變得生動有趣的IT小白,很高興能偶認識你,關注我,每天堅持學點東西,我們以後就是大佬啦!

📢 :

❤布小禅❤ 📢 作者專欄: ❤Python❤ ❤Java❤ ❤力扣題❤ 這是我刷第 82/100 道力扣簡單題

給定一個二叉樹,檢查它是否是鏡像對稱的。

示例1:

1
   / \
  2   2
 / \ / \
3  4 4  3
true      

示例2:

1
   / \
  2   2
   \   \
   3    3
false      

提示:你可以運用遞歸和疊代兩種方法解決這個問題嗎?

思路1

雙指針做法
   - 頭尾指針一起周遊
   - 查找最大值
   - 記錄最大值的下标      

/*
   雙指針做法
  - 頭尾指針一起周遊
  - 查找最大值
  - 記錄最大值的下标
*/
int peakIndexInMountainArray(int* arr, int arrSize){
    int j = arrSize-1;          // (1) 尾指針
    int ansNum = arr[0];        // (2) 記錄最大值
    int ans = 0;                // (3) 記錄最大值的下标
    for (int i=0;i<arrSize;i++) // (4) 周遊
    {
        if (ansNum<arr[i])      // (5) 判斷大小
        {
            ansNum = arr[i];    // (6) 記錄最大值
            ans = i;            // (7) 記錄最大值的下标
        }
        if(ansNum<arr[j])
        {
            ansNum = arr[j];
            ans = j;
        }
        j--;
    }
    return ans;                  // (8) 傳回值
}      

堅持最重要,每日一題必不可少!😸

期待你的關注和督促!😛

LeetCode刷題101-簡單-對稱二叉樹☀️ 前言 ☀️🙀 作者簡介 🙀💗 一、題目描述 💗💁 二、題目解析 💁🏃 三、代碼 🏃🌔 結語 🌔