文章目錄
算法作為極其重要的一點,是大學生畢業找工作的核心競争力,是以為了不落後與人,開始刷力扣算法題!
大家好,我是布小禅,一個盡力讓無情的代碼變得生動有趣的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) 傳回值
}
堅持最重要,每日一題必不可少!😸
期待你的關注和督促!😛