[Leetcode] 155. Min Stack
Algorithm2021. 8. 7. 17:16
반응형
Identifying the Problem
스택 생성하고, 스택을 다루는 함수를 만든다.
Sourcecode
typedef struct {
int str[30000];
int top; //stack의 끝 부분
} MinStack;
/** initialize your data structure here. */
MinStack* minStackCreate() //stack obj 생성
{
MinStack *stack;
stack = (MinStack*)malloc(sizeof(MinStack));
stack->top=-1;
return stack;
}
void minStackPush(MinStack* obj, int val) //stack에 요소 넣기
{
(obj->top)++;
obj->str[obj->top] = val;
}
void minStackPop(MinStack* obj) //꼭대기 요소 제거
{
obj->str[obj->top] = NULL;
(obj->top)--;
}
int minStackTop(MinStack* obj) //꼭대기 요소값 리턴
{
return obj->str[obj->top];
}
int minStackGetMin(MinStack* obj) // stack 내의 가장 작은 값 리턴
{
int min = obj->str[0];
for(int i=1;i<=obj->top;i++)
if(obj->str[i] < min) min = obj->str[i];
return min;
}
void minStackFree(MinStack* obj) { //obj의 동적할당 해제
free(obj);
}
반응형
'Algorithm' 카테고리의 다른 글
[Leetcode] 169. Majority Element (0) | 2021.08.07 |
---|---|
[Leetcode] 168. Excel Sheet Column Title (0) | 2021.08.07 |
[Leetcode] 141. Linked List Cycle (0) | 2021.08.07 |
[Leetcode] 136. Single Number (0) | 2021.08.07 |
[Leetcode] 125. Valid Palindrome (0) | 2021.08.07 |
댓글()