Given a binary tree root and an integer target, delete all the leaf nodes with value target.
Note that once you delete a leaf node with value target, if its parent node becomes a leaf node and has the value target, it should also be deleted (you need to continue doing that until you cannot).
![Screenshot 2024-05-17 at 11 54 29 PM](https://private-user-images.githubusercontent.com/38793933/331639147-d9c163f5-a972-4430-b957-cee97839103a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5MjAwNzcsIm5iZiI6MTczODkxOTc3NywicGF0aCI6Ii8zODc5MzkzMy8zMzE2MzkxNDctZDljMTYzZjUtYTk3Mi00NDMwLWI5NTctY2VlOTc4MzkxMDNhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDA5MTYxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQzMGQ0NzMxYzU0YjI0YTQ5ZTkwZWIzMTRhMjA4NzBhNDlhZGUyZTk4YWM3YTc0MzM0MTE2MjkwODA4ZThkNTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.OwWrnxuBc3VO_p-XpzT_8t7KCOEarPcdPjD-joN_yEI)
Input: root = [1,2,3,2,null,2,4], target = 2
Output: [1,null,3,null,4]
Explanation: Leaf nodes in green with value (target = 2) are removed (Picture in left).
After removing, new nodes become leaf nodes with value (target = 2) (Picture in center).
![Screenshot 2024-05-17 at 11 54 37 PM](https://private-user-images.githubusercontent.com/38793933/331639219-685e2108-65ec-4d59-860e-5756831d94a1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5MjAwNzcsIm5iZiI6MTczODkxOTc3NywicGF0aCI6Ii8zODc5MzkzMy8zMzE2MzkyMTktNjg1ZTIxMDgtNjVlYy00ZDU5LTg2MGUtNTc1NjgzMWQ5NGExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDA5MTYxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBmYjg0MDk4MmU2NDFiOTczNDQyYWJmZTUzNjA5ZGU2MDE5NDhmNWRiMzY2OGEwY2NlNTQ5NmJiMWFlNjczNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QhMOWcRcjKC_0rESvMgqartot_2L8efjM3fSm3TOm-Y)
Input: root = [1,3,3,3,2], target = 3
Output: [1,3,null,null,2]
![Screenshot 2024-05-17 at 11 54 49 PM](https://private-user-images.githubusercontent.com/38793933/331639310-8640f5a0-8eba-49cd-91bd-24e82d25f175.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5MjAwNzcsIm5iZiI6MTczODkxOTc3NywicGF0aCI6Ii8zODc5MzkzMy8zMzE2MzkzMTAtODY0MGY1YTAtOGViYS00OWNkLTkxYmQtMjRlODJkMjVmMTc1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDA5MTYxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY5Yjc4MjAzYTI5MzQ4Y2FkMDE2ZDA2ODg1MDliMGQ0OGEzM2NkZmE0Njc1M2Q5ZGM4YzM4ZDM2OTc2ZDczYjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.tzrEHVNryzt_hi3vOLpUe08A2POiDVZTuL5GEAnLgvo)
Input: root = [1,2,null,2,null,2], target = 2
Output: [1]
Explanation: Leaf nodes in green with value (target = 2) are removed at each step.
The number of nodes in the tree is in the range [1, 3000].
1 <= Node.val, target <= 1000