[Random Coding] De/Serialization of Binary Search Tree

来源:互联网 发布:icloud照片下载到mac 编辑:程序博客网 时间:2024/05/02 02:15
package RandomPractice;import java.util.ArrayList;import util.BTNode;public class DeSerializationBinarySearchTree {public static void serialize(BTNode root, ArrayList<Integer> list){if(root == null)return;else{list.add(root.value);serialize(root.left, list);serialize(root.right, list);}}public static BTNode deserialize(int min, int max, ArrayList<Integer> list){if(list.size() == 0)return null;int i = list.get(0);if(i > min && i < max){list.remove(0);BTNode root = new BTNode(i);root.left = deserialize(min, i, list);root.right = deserialize(i, max, list);return root;} else return null;}public static void main(String[] args){BTNode root1 = new BTNode(4, null, null);root1.left = new BTNode(2, null, null);root1.right = new BTNode(5, null, null);root1.left.left = new BTNode(1, null, null);root1.left.right = new BTNode(3, null, null);ArrayList<Integer> list = new ArrayList<Integer>();serialize(root1, list);for(int i = 0; i < list.size(); i++)System.out.print(list.get(i) + " ");BTNode root = deserialize(Integer.MIN_VALUE, Integer.MAX_VALUE, list);}}

0 0
原创粉丝点击