使用非遞迴的二叉樹遍歷實現。
#includeusing namespace std;
const int maxn=10000;/*
struct treenode
};*/
class solution
if(p_l->right!=null)
}return top==-1;
}};
經過數十次的提交最後終於過了
第一次找出沒有考慮這個if(proot==null)return true;
提交多次,會想以前寫過的遍歷演算法,遞迴和非遞迴都是一樣的思路,沒有什麼漏洞
懷疑棧定義的問題,將maxn改為1000沒有用,又改成1e6還是沒有用
看了一眼老師和其它同學的提交記錄都是使用遞迴的方法,開始就是懷疑棧溢位,但是使用了陣列棧還是溢位應該不可能
整理了一下思路,有看是整理了一下**
第二次找出判斷出錯
bool bpll=p_l->left==null,bplr=p_l->right==null;
bool bprl=p_r->left==null,bprr=p_r->right==null;
if((bpll^bprr)||(bplr^bprl))break;
還是不行,繼續往下找,發現入棧時,判斷是這樣寫的if(p_l!=null)and if(p_l!=null)
改了過來,過了10%
開始肯定了自己的邏輯,找了一下**,沒錯
第三次找出題意的對稱不僅僅是形狀上的對稱,數值上也要對稱相等,加上了if(p_l->val!=p_r->val)return false;
然後就過了。
思路:形狀上的對稱只要,同時先序遍歷後序遍歷,如果同時存在相同的子節點就對稱,數值就在判斷子節點的時候,判斷一下數值就行。
牛客21天刷題 day 2
牛客contents 2.小易喜歡的單詞 題目圓的半徑平方為s,求座標系裡在這個圓周上面的整數座標點有幾個 輸入253 輸出12 0 思路和解答 math.sqrt 4 2.0 type math.sqrt 4 float math.sqrt 4 int math.sqrt 4 true 注意ran...
牛客網刷題 尋找第K大
有乙個整數陣列,請你根據快速排序的思路,找出陣列中第k大的數。給定乙個整數陣列a,同時給定它的大小n和要找的k k在1到n之間 請返回第k大的數,保證答案存在。輸入描述 輸入乙個陣列 陣列長度 k大 輸出描述 輸出k大座標 輸入 1,3,5,2,2 5,3 輸出 2本題與之前的最小的k個數思路相類似...
MySQL刷題 牛客網 Day2
今天繼續刷題!獲取所有員工當前的manager 獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to date 9999 01 01 結果第一列給出當前員工的emp no,第二列給出其manager對應的manager no。create table dept...