Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions longest-substring-without-repeating-characters/devyejin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# space complexity O(n), time complexity O(1)
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
seen = {}
left = 0
max_length = 0

for right, char in enumerate(s):
if char in seen and seen[char] >= left:
left = seen[char] + 1
seen[char] = right
max_length = max(max_length, right - left + 1)

return max_length
6 changes: 6 additions & 0 deletions reverse-bits/devyejin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# time complexity O(1)
class Solution:
def reverseBits(self, n: int) -> int:
binary = bin(n)[2:].zfill(32)
reversed_binary = binary[::-1]
return int(reversed_binary, 2)
42 changes: 42 additions & 0 deletions reverse-linked-list/devyejin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Definition for singly-linked list.
from typing import Optional


class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next

# time complexity O(n), space complexity O(1)
class Solution:
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
prev = None # 뒤집힌 리스트의 시작 노드
curr = head # 현재 탐색 중인 노드

while curr:
temp = curr.next # 다음 노드 기억
curr.next = prev
# 다음 포인터로 이동하기 전 현재노드를 이전 노드로 변경
prev = curr
# 포인터 이동
curr = temp

return prev

# time complexity O(n), space complexity O(n)
# class Solution:
# def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
# stack = []
# while head:
# stack.append(head)
# head = head.next
#
# dummy = ListNode()
# curr = dummy
# while stack:
# node = stack.pop()
# node.next = None
# curr.next = node
# curr = curr.next
#
# return dummy.next