Many researchers have proven that complex networks have community structures and that most network communities are overlapping. Numerous algorithms have been proposed and used to detect non-overlapping or overlapping communities in networks. Many community-detecting algorithms are based on a clique. A clique is a subset of the nodes in the network in which every pair of nodes has an edge between them. In this paper, we propose a new algorithm that is based on a clique-to-clique similarity measure, and the label propagation to detect overlapping communities. The algorithm first finds all cliques of the network; then, it builds a new network according to a specific strategy, that specifies that in the new network, a node represents a clique found in the last step, and an edge is the link relation generated according to the strategy. The experimental results for both synthetic networks and real-world networks show that the proposed algorithm is not only effective, but also better than other algorithms in forms of the quality of results on the time efficiency.