Data Structure 資料結構

A collection of 4 posts

[LeetCode] 814. Binary Tree Pruning

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* pruneTree(TreeNode* root) { if (root->

[UVa] 699 - The Falling leaves

Problem Link: UVa 699 - The Falling leabes hint preorder Code C++ with array #include <iostream> bool recursion(); static constexpr const int MAX = 100; // less stack consumption static int pile[MAX]

[UVa] 548 - Tree

題目 Link: UVa 548 - Tree Hint 下面兩行分別是 inorder 和 postorder 的 traversal 3 2 1 4 5 7 6 3 1 2 5 6 7 4 postorder 最後一個一定是 root inorder 中, root

[資結] Linked List 和 Array 的選擇

Linked List 和 Array 都是在程式中用來儲存資料的, 如果經過封裝,例如說 Java 的 LinkedList 和 ArrayList , C++ 的 std::list 和 std::vector , 就光看方法 (methods) 的調用,是看不出來兩者的區別的, 但有上過資結的老師一定都會說, 如果有需要大量的插入和刪除就用 Linked List , 否則使用 Array 類似的話大家應該都有聽過, 由於 Linked List