給定 pushed 和 popped 兩個序列,只有當它們可能是在最初空棧上進行的推入 push 和彈出 pop 操作序列的結果時,返回 true;否則,返回 false 。
示例 1:
輸入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]
輸出:true
解釋:我們可以按以下順序執行:
push(1), push(2), push(3), push(4), pop() -> 4,
push(5), pop() -> 5, pop() -> 3, pop() -> 2, pop() -> 1
示例 2:
輸入:pushed = [1,2,3,4,5], popped = [4,3,5,1,2]
輸出:false
解釋:1 不能在 2 之前彈出。
0 <= pushed.length == popped.length <= 1000
0 <= pushed[i], popped[i] < 1000
pushed 是 popped 的排列。
//2019-1-2
//2019-1-4
bool validatestacksequences
(int
* pushed,
int pushedsize,
int* popped,
int poppedsize)
stack;
int i =0;
int cur =0;
int*result =
(int*)
malloc
(sizeof
(int
)*poppedsize)
; stack* s1 =
(stack*
)malloc
(sizeof
(stack));
memset
(s1,0,
sizeof
(stack));
s1->array =
(int*)
malloc
(sizeof
(int
)*pushedsize)
;int j =0;
for(i =
0;i < pushedsize;i++)}
}if(s1->top>0)
}for
(i =
0;i)else
}return true;
}
//2021-03-28
typedef
struct
stack;
bool validatestacksequences
(int
* pushed,
int pushedsize,
int* popped,
int poppedsize)}if
(j == poppedsize)
return false;
}
力扣 946 驗證棧序列 棧
思路 建立乙個輔助棧,無非以下幾種情況 1 push edi pope dj 1 pushed i poped j 1 pus hedi po pedj 那麼直接自增i j i ji j即可,相當於進棧後立即出棧 2 2 2 棧非空且棧頂元素等於pop edjpoped j popedj 那麼彈出棧...
力扣125 驗證回文串 C語言實現 簡單題
傳送門 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false bool ispalin...
力扣c語言實現 682 棒球比賽
原題目連線 你現在是棒球比賽記錄員。給定乙個字串列表,每個字串可以是以下四種型別之一 1.整數 一輪的得分 直接表示您在本輪中獲得的積分數。2.一輪的得分 表示本輪獲得的得分是前兩輪有效 回合得分的總和。3.d 一輪的得分 表示本輪獲得的得分是前一輪有效 回合得分的兩倍。4.c 乙個操作,這不是乙個...