Which one is more effective for attacking the system, controlling 51% of the mining power or 51% of the full nodes? I used to think it is the miner who verify the transaction, but it turns out this is really a joint work by the miner and the full nodes; the miner broadcasts the newly discovered block, which contains transactions to the network of full nodes, but it is up to the full node to decide whether to accept them.

Then my question is, even if someone controls the majority of the hash rate, if he does not compromise majority of the full node, can the network simply reject to include the blocks that he broadcasts?
51% of mining power would be more effective for attacking the system. if you have 51% of all full nodes, you can't do any attack with your nodes.