We give a linear time algorithm to elect a leader. This problem originated in networking and distributed computing research. Given a graph, its vertices represent processors (here finite state machines), and its edges communication lines (here synchronous). The leader election problem consists in finding a protocol for a family of graphs which, upon iteration, distinguishes a vertex, edge or cycle by a special state called leader. Here, the graphs are only required to be connected, and without holes. We describe the algorithm on a special class of planar graphs, prove its correctness and show how it extends to other classes.