Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:WA了很久, 还请牛人给点测试数据:(Java)

Posted by Zechel at 2021-11-16 15:40:12 on Problem 3367
In Reply To:WA了很久, 还请牛人给点测试数据:(Java) Posted by:antonio081014 at 2012-02-16 04:48:19
> import java.io.BufferedReader;
> import java.io.InputStreamReader;
> import java.util.LinkedList;
> 
> class Main {
> 
>     public static void main(String[] args) throws Exception {
>         Main main = new Main();
>         main.solve();
> 
>     }
> 
>     public void solve() throws Exception {
>         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
>         int T = Integer.parseInt(br.readLine());
>         while (T-- > 0) {
>             // Node root = build(br.readLine(););
>             // printByLevel(root);
>             printByLevel(build(br.readLine()));
>             // printByPostorder(root);
>             // System.out.println();
>         }
>     }
> 
>     public Node build(String s) {
>         Node node = new Node(s.charAt(s.length() - 1));
> 
>         if (s.length() <= 1) {
>             return node;
>         }
>         if (s.length() == 3) {
>             node.left = new Node(s.charAt(0));
>             node.right = new Node(s.charAt(1));
>             return node;
>         }
> 
>         int i;
>         int count = 2;
>         for (i = 2; i < s.length() - 1; i++) {
>             if (s.charAt(i) <= 'Z') {
>                 count -= 2;
>                 // if left child is a subtree;
>                 if (count == 0) {
>                     // System.out.print(s.substring(0, i + 1) + ", "
>                     // + s.substring(i + 1, s.length() - 1));
>                     // System.out.println();
>                     node.left = build(s.substring(0, i + 1));
>                     node.right = build(s.substring(i + 1, s.length() - 1));
>                     break;
>                 }
>                 count++;
>             }
>             else
>                 count++;
> 
>         }
>         // if the left child is just a number.
>         if (count == 2) {
>             node.left = build("" + s.charAt(0));
>             node.right = build(s.substring(1, s.length() - 1));
>         }
>         return node;
>     }
> 
>     public void printByPostorder(Node root) {
>         if (root == null) {
>             return;
>         }
>         printByPostorder(root.left);
>         printByPostorder(root.right);
>         System.out.print(root.data);
>     }
> 
>     public void printByLevel(Node root) {
>         LinkedList<Node> q = new LinkedList<Node>();
>         q.add(root);
>         for (int i = 0; i < q.size(); i++) {
>             Node tmp = q.get(i);
>             if (tmp.left != null) {
>                 q.add(tmp.left);
>                 q.add(tmp.right);
>             }
>         }
>         for (int i = q.size() - 1; i >= 0; i--)
>             System.out.print(q.get(i).data);
>         System.out.println();
>     }
> }
> 
> class Node {
>     public char data;
>     public Node left;
>     public Node right;
> 
>     public Node(char c) {
>         this.data = c;
>         this.left = null;
>         this.right = null;
>     }
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator