Try to run Huffman algorithm on the frequencies - you would see, that those codes could not be produced by a Huffman algorithm. Huffman always merges nodes with smallest frequencies, but to get those exact codes, you would have to merge nodes that are not smallest.
To get those codes, the following steps must be performed:
Note, however, that this code still gives each symbol the same number of bits as Huffman would. Because we know that Huffman is always an optimal prefix code - this code is also optimal.