diff options
Diffstat (limited to 'leetcode/lc-1436-destination-city.rkt')
-rw-r--r-- | leetcode/lc-1436-destination-city.rkt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/leetcode/lc-1436-destination-city.rkt b/leetcode/lc-1436-destination-city.rkt new file mode 100644 index 0000000..ce82f08 --- /dev/null +++ b/leetcode/lc-1436-destination-city.rkt @@ -0,0 +1,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")))
\ No newline at end of file |