zoukankan      html  css  js  c++  java
  • 记一次笔试题

    题目要求

    向右移动字符串中的指定个数元素,末尾元素依次放在字符串头部,例如
    1.输入6,2
    2.输出561234
    原来是123456,将所有元素平移两位后变成561234,使用栈操作代码如下

    // 采用javascript的链表实现
    class LinkedList{
       constructor(){
         this.head = null
         this.length = 0
       }
      // 头插法插入一个元素
       append(data){
         let newNode = new Node(data)
         if(this.length = 0){
           this.head = newNode
         }else{
           newNode.next = this.head
           this.head = newNode
         }
         this.length += 1
       }
      // 将链表以字符串形式输出
      _toString(){
        let current = this.head
        let result = ''
        while(current){
          result += current.data + ' '
          current = current.next 
        }
        return result
      }
      // 删除队尾元素
     }
    
    class Node{
      constructor(data){
        this.data = data
        this.next = null
      }
    }
    
    function calculate (num1,num2){
      let arr = new LinkedList()
      // 依次插入1-6
      for( let i = num1; i > 0; i--){
        arr.append(i)
      }
      // 将倒数num2个元素插入链表头部 
      for( let i = num1; i > num1 - num2; i--){
        arr.append(i)
      }
      // 将字符串分割为数组
      let result_0 = arr._toString().split(' ')
      // 因为最后还存在一个空格,所以是num2+1 
      for( let i =0; i < num2 + 1; i++){
        result_0.pop()
      }
      // 返回值将数组再转化为字符串
      return result_0.toString()
    }
    var result = calculate(6,2)
    console.log(result)
    // 输出561234
    
  • 相关阅读:
    linux之间文件共享的方式
    linux访问windows文件的方法
    linux下samba配置
    linux下ftp搭建
    windws下搭建ftp步骤
    索引的二元高度
    Oracle表的分析统计
    oracle———索引
    这些git技能够你用一年了
    使用 Composer 为 ThinkPHP(3.2.3)框架添加和管理组件
  • 原文地址:https://www.cnblogs.com/lfnumber7/p/12577873.html
Copyright © 2011-2022 走看看