My LeetCode grinding. Trying to do a problem a day.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

main.c 919B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. // Definition for a binary tree node.
  4. struct TreeNode {
  5. int val;
  6. struct TreeNode *left;
  7. struct TreeNode *right;
  8. };
  9. void printTree(struct TreeNode* tree) {
  10. if (tree != NULL) {
  11. printf(" %d ", tree->val);
  12. printTree(tree->left);
  13. printTree(tree->right);
  14. }
  15. }
  16. struct TreeNode* invertTree(struct TreeNode* root){
  17. if (root != NULL) {
  18. struct TreeNode* temp = root->right;
  19. root->right = root->left;
  20. root->left = temp;
  21. invertTree(root->left);
  22. invertTree(root->right);
  23. }
  24. return root;
  25. }
  26. int main() {
  27. struct TreeNode l = { 2, NULL, NULL };
  28. struct TreeNode r = { 3, NULL, NULL };
  29. struct TreeNode tree = { 1, &l, &r};
  30. struct TreeNode* inverted = invertTree(&tree);
  31. printf("Expected: 1 3 2 \n");
  32. printf("Got:");
  33. printTree(inverted);
  34. printf("\n");
  35. return 0;
  36. }