Question: JAVA: I got code: import java.util.Scanner; class Node { char ch; Node left, right; } class Decode { Node root; StringBuilder sb = new StringBuilder();

JAVA:

I got code:

import java.util.Scanner; class Node { char ch; Node left, right; } class Decode { Node root; StringBuilder sb = new StringBuilder(); public Decode(String preOrder) { root = buildTree(preOrder); } public Node buildTree(String preOrder) { return buildTree(preOrder, 0, preOrder.length()); } public Node buildTree(String preOrder, int start, int end) { if (start >= end) { return null; } Node node = new Node(); char ch = preOrder.charAt(start); node.ch = ch; if (ch == '*') { int i = start + 1; while (i < end && preOrder.charAt(i) == '*') { i++; } node.left = buildTree(preOrder, i, end); node.right = buildTree(preOrder, i + 1, end); } return node; } public void decode(String message) { Node node = root; for (char ch : message.toCharArray()) { if (node == null) { break; } node = ch == '0' ? node.left : node.right; if (node != null && node.left == null && node.right == null) { sb.append(node.ch); node = root; } } } public String getDecodedMessage() { return sb.toString(); } } class DecodeMessage { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Read preOrder string from input String preOrder = scanner.nextLine(); // Read compressed message from input String message = scanner.nextLine(); Decode decoder = new Decode(preOrder); decoder.decode(message); String decodedMessage = decoder.getDecodedMessage(); System.out.println("Decoded message: " + decodedMessage); } }

Expected output: abracadabra!

As i know:

preorder: *a**!*dc*rb

message: 0111110010110101001111100100

but all the time i receive output: acda!d!!acda!a

Or provide clarify what and how should be inputted preorder or anything suggestable

So, fix this situation please, confused :(

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!