본문 바로가기

자료구조4

[C++][leetcode] Diameter of Binary Tree :: seoftware 소스코드 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { int max; void maxDepth(TreeNode* root) { if (root == NULL) { return; } max = std::max(max, height(root->left) + height(root->right)); maxDepth(root->left); maxDepth(root->right); } int height(TreeNode* ro.. 2020. 4. 12.
[C++][leetcode] Min Stack :: seoftware 소스코드 class MinStack { stack elements; stack sorted; public: /** initialize your data structure here. */ MinStack() { } void push(int x) { elements.push(x); if(sorted.empty() || sorted.top() >= x) sorted.push(x); } void pop() { if(elements.empty()) return; if(sorted.top() == elements.top()) sorted.pop(); elements.pop(); } int top() { return elements.top(); } int getMin() { return sorted.top(); } .. 2020. 4. 12.
[C++][leetcode] Middle of the linked list :: seoftware 소스코드 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* middleNode(ListNode* head) { int sz = 0; ListNode *cur = head; while(cur != NULL){ sz++; cur = cur->next; } sz /= 2; cur = head; for(int i = 0; inext; } return cur; } }; head가 포인터이므로 cur도 포인터로 선언해야 한다! 2020. 4. 9.
[자료구조][재귀 Recursion] 팩토리얼 , 피보나치 , 하노이탑 :: seoftware 윤성우의 열혈 자료구조를 참고하여 쓰는 글입니다. 오늘부터 열심히 살려고 블로그 글 처음 쓰는데,, 실수로 뒤로가기 버튼 눌러버림,, 없어짐,, 눈물남,, 이제는 간단하게 쓸거야ㅜㅜ 정의 재귀함수란 함수 내에서 자기 자신을 다시 호출하는 함수를 의미한다. 더보기 void Recursive(void) { cout 2020. 2. 8.