Solving math word problems is a popular topic in natural language processing. We not only need to classify the grammatical structures in the questions, but also understand the mathematical logic expressed between words. Errors in semantic understanding may lead to the failure to generate correct solution equations. Thus, the correct answer cannot be calculated. Previous studies mainly used sequence-to-sequence recurrent neural networks (RNNs) to obtain meaning in words, or combined graph neural networks to capture more information in questions to achieve better results. In addition, recent studies also showed that, a tree-based decoder leads to better results than a decoder of RNNs. In this paper, we propose to combine transformers and tree-based decoders for solving math word problems. Firstly, we use a transformer encoder to read math word problems, whose outputs are given to two different decoders, including Transformer decoder, and a treebased decoder. Secondly, from the answer equations generated from the two decoders, the better solution is selected. The experimental results on the two commonly used math word problem datasets, MAWPS and ASDiv-A, show that our model achieves 89.3% and 81.9% accuracy, which are 2.2% and 4.2% higher than the vanilla transformer model, respectively. For the MAWPS dataset the performance is comparable to state-of-the-art model Graph2Tree. This shows the effectiveness of our proposed method.