Minecraft wiki entry for Defeating_the_ender_dragon, associated text: A torch to collect the dragon egg after the battle
An ender chest to bring additional items into the end. Note that you can only reclaim the chest with a Silk Touch pickaxe. As the ender chest inventory can be accessed from any dimension using any ender chest, you can also use it to protect valuables such as the dragon egg or any loot you might find.
Empty glass bottles to collect dragon's breath
A carved pumpkin which prevents endermen from getting aggressive
Iron blocks to build an iron golem, which deals with the endermen
Tridents are good weapons for the fight as well, but they should have Loyalty. You can also use Riptide to boost yourself up with the help of a water bucket. Note: If your trident goes into the void, it does not return even if it is enchanted with loyalty.‌[Java Edition only]
Having a totem of undying in your offhand saves you from death once. This can be helpful if things go wrong, but note that totems don't protect from falling into the void. You can get totems of undying from killing an Evoker.
Having wood can allow you to craft chests which can ultimately allow you to craft shulker boxes from the shulker shells that you get from end cities.
If you are going to explore the outer islands in search for end cities, bring some firework rockets. Once you find elytra, you can fly back home without having to take a gateway portal. You can also bring an anvil, a Mending book and an Unbreaking III book to instantly enchant your elytra, giving you extended flight time and an option to repair them by killing endermen.
If you are playing on Bedrock Edition, you can brew potions of harming, put them in cauldrons, and make tipped arrows of harming which can increase your damage to the dragon a lot. Note: tipped arrows are not affected by Infinity.