aboutsummaryrefslogtreecommitdiff
path: root/racket/leetcode/lc-1436-destination-city.rkt
blob: ce82f08da0d684d067e817fcae84ec5d50fb57cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#lang racket
(define/contract (dest-city paths)
  (-> (listof (listof string?)) string?)
  (define city-pairs (make-hash paths))
  (define (go-to-next-city origin)
    (let ([destination (hash-ref city-pairs origin #false)])
      (if destination
          (go-to-next-city (car destination))
          origin)))
  (go-to-next-city (caar paths)))

(dest-city '(("London" "New York")
             ("New York" "Lima")
             ("Lima" "Sao Paolo")))