본문 바로가기

[OJ.leetcode] single-number-ii https://oj.leetcode.com/problems/single-number-ii/ Given an array of integers, every element appears three times except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? /* 사고의 전환이 필요. 일종의 트릭인데, array를 element 단위보다 더 작은 bit level 에서 볼 수 있고 bit level operation을 할 수 있느냐를 보는 문제. "Given an array of integers.. 더보기
[OJ.leetcode] remove-duplicates-from-sorted-list https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/ Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3. /* 반드시 인접해있는 두 노드만 duplicated 되어있는지? -> YES O(n) solution : 순회하면서 duplicated 노드 만나면 삭제(건너뛰고)연결 */ /** * Definition for singly-linked list. * struct ListNode { *.. 더보기
[OJ.leetcode] binary-tree-preorder-traversal https://oj.leetcode.com/problems/binary-tree-preorder-traversal/ Given a binary tree, return the preorder traversal of its nodes' values. For example: Given binary tree {1,#,2,3}, 1 \ 2 / 3 return [1,2,3]. Note: Recursive solution is trivial, could you do it iteratively? /* preorder를 loop로 구현하기 위해서 stack을 이용하여 실제 recursive call과 함수 콜스택의 동작을 모방하여 그대로 적용하면 될것. loop로 구현시, 실제로 return 시 스택에서 unwindin.. 더보기