摘要:
//该题原本想用递归实现,但却用循环实现了。。。//关键用了个队列#include void Print(BinaryTreeNode* pRoot, std::queue& Qbt){ if(pRoot != NULL) { coutm_nValue; if(pRoot->pLeft) Qbt.push(pRoot->pLeft); if(pRoot->pRight) Qbt.push(pRoot->pRight); }}int main(){ std::queue Qbt; ... 阅读全文
摘要:
关键在于思路, 需要两个输入向量,而函数中需要一个辅助栈! 思路:以待判出栈序列为基础,逐个判断它与栈顶元素是否相等,相等则弹出且j++,这表明此元素可为出栈顺序元素,不相等则栈元素不断入栈,直至相等,否则则判为非出栈序列!#includebool IsStackSquence(int* array1, int length1, int* array2, int length2){ bool IsOutStack = true; if(array1 == NULL || length1 st; int i = 0; int j = 0; s... 阅读全文