The Bitcoin client builds a merkle tree to represent the transactions, then includes the root of that tree in the block header.
But usually, the number of transactions is not a power of two. When that happens, how does the Bitcoin client represent the transactions in the tree?
If I wrote a custom mining client, which built a tree with a different "shape," (example below) what would happen?