Skip to the editor
JSGroundwork
JSGroundwork handwritten · web dev
←Back to Topological patterns

Ready to read

JSJavaScript⑂Git◎Interview prepΣDSA in JSSDSystem Design
More topics15›
</>HTML{ }CSS⚛ReactNNext.jsNeNest.jsTSTypeScriptNoNode.js🐳DockerDBSQL & Databases✓Testing🔒Web Security☁Cloud & DevOps◈GraphQL◆Redis☸Kubernetes
☰‹›
Description
All topics›JavaScript›Topological patterns

Alien Dictionary

advancedlayer A11 · Topological patterns5 tests

You are given words, a list of lowercase words sorted according to the rules of an unknown alphabet. Work out an ordering of the letters that is consistent with that sorting and return it as a string.

  • The result must contain every distinct letter that appears in words, each exactly once
  • If several orderings are consistent, return any of them
  • If the input is impossible, return the empty string ''. That covers a cycle in the deduced order, and also the invalid prefix case: ['abc', 'ab'] can never be sorted, because a prefix must come first
  • Letters inside a single word tell you nothing about their relative order

Stuck?

All exercisesPlayground
1234567891011121314
loading the editor…

Nothing yet — hit Run and whatever you log shows up here.

Submit to see how you did.

⌘/Ctrl + Enter run⌘/Ctrl + S save⌘/Ctrl + / comment⌘/Ctrl + F find/replace⌘/Ctrl + D select next matchAlt + click multi-cursorTab indent · ⇧Tab outdentEsc leave fullscreen