力扣c語言實現 946 驗證棧序列

2021-09-24 16:19:23 字數 1539 閱讀 6760

給定 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 乙個操作,這不是乙個...