fork download
  1. #include <iostream>
  2.  
  3. struct TreeNode {
  4. int val;
  5. TreeNode* left;
  6. TreeNode* right;
  7. TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
  8. };
  9.  
  10. void flatten(TreeNode* root) {
  11. std::cout << "In flatten\n";
  12. std::cout << "Address of root pointer: " << &root << '\n';
  13. std::cout << "Addresss contained by root pointer: " << root << '\n';
  14. std::cout << "Value contained: " << root->val <<"\n\n";
  15.  
  16. std::cout << "Assigning to root.\n\n";
  17. root = new TreeNode(0);
  18.  
  19. std::cout << "Address of root pointer: " << &root << '\n';
  20. std::cout << "Addresss contained by root pointer: " << root << '\n';
  21. std::cout << "Value contained: " << root->val << "\n\n";
  22. std::cout << "Leaving flatten.\n\n";
  23. }
  24.  
  25. int main()
  26. {
  27. TreeNode * tree = new TreeNode(2);
  28.  
  29. std::cout << "Address of tree pointer: " << &tree << '\n';
  30. std::cout << "Address contained by tree pointer: " << tree << '\n';
  31. std::cout << "Value contained: " << tree->val << "\n\n";
  32.  
  33. flatten(tree);
  34.  
  35. std::cout << "Address of tree pointer: " << &tree << '\n';
  36. std::cout << "Address contained by tree pointer: " << tree << '\n';
  37. std::cout << "Value contained: " << tree->val << "\n\n";
  38. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Address of tree pointer: 0x7ffea190e678
Address contained by tree pointer: 0x2b6dcab4cc20
Value contained: 2

In flatten
Address of root pointer: 0x7ffea190e638
Addresss contained by root pointer: 0x2b6dcab4cc20
Value contained: 2

Assigning to root.

Address of root pointer: 0x7ffea190e638
Addresss contained by root pointer: 0x2b6dcab4dc50
Value contained: 0

Leaving flatten.

Address of tree pointer: 0x7ffea190e678
Address contained by tree pointer: 0x2b6dcab4cc20
Value contained: 2